Réponse très tardive. Cependant, cela pourrait aider d'autres personnes ayant un problème / question similaire.
Je recommanderais de créer et d'appliquer un patch. Un bel exemple peut être trouvé
ici .
Par exemple, en supposant qu'un nouveau fichier.txt contient des modifications que vous souhaitez appliquer à old.txt. Vous pouvez exécuter les commandes sur un terminal ou en créant et en exécutant un patch_file.sh.
Ligne de commande: ouvrez un terminal et copiez et exécutez les lignes ci-dessous (modifiez les noms de fichiers si nécessaire):
diff old.txt new.txt > patch.patch # to create the patch
patch old.txt -i patch.patch -o patched_old.text # to apply patch
Script: en utilisant une approche de fichier .sh. Dans un terminal (clavier: ctrl + alt + t:
gedit patch_file.sh
Copiez et collez les commandes qui iraient sur le terminal, dans le fichier .sh et sous l'en-tête, comme indiqué ci-dessous (gedit).
#!/bin/sh
diff old.txt new.txt > patch.patch # to create the patch
patch old.txt -i patch.patch -o patched_old.text # to apply patch
Rendez le script exécutable (terminal):
chmod +x patch_file.sh
Exécutez le script (terminal):
./patch_file.sh # may require sudo access depending on the directory affected
Si vous souhaitez modifier un fichier, utilisez un éditeur de fichiers, il existe des éditeurs de fichiers basés sur des commandes qui peuvent être utilisés à partir de scripts, comme ex ou ed .
la source
Vous recherchez sed ou awk. Je trouve sed plus simple et awk plus puissant.
Voici un exemple d' une autre question .
Ça signifie:
/usr/share/applications/defaults.list
gedit.desktop
yournew.desktop
-i
la source
En fonction de ce que vous devez modifier, si vous connaissez
vi
alorsed
peut être utile.la source