Bardzo późna odpowiedź. Może to jednak pomóc innym z podobnym problemem / pytaniem.
Poleciłbym stworzyć i zastosować łatkę. Dobry przykład można znaleźć
tutaj .
Na przykład, zakładając, że plik new.txt zawiera zmiany, które chcesz zastosować do old.txt. Możesz wykonywać polecenia na terminalu lub tworząc i wykonując plik patch_file.sh.
Wiersz poleceń: otwórz terminal i skopiuj i wykonaj poniższe wiersze (w razie potrzeby zmień nazwy plików):
diff old.txt new.txt > patch.patch # to create the patch
patch old.txt -i patch.patch -o patched_old.text # to apply patch
Skrypt: przy użyciu podejścia do pliku .sh. W terminalu (klawiatura: ctrl + alt + t:
gedit patch_file.sh
Skopiuj i wklej polecenia, które byłyby uruchamiane na terminalu, do pliku .sh i pod nagłówkiem, jak pokazano poniżej (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
Ustaw skrypt jako wykonywalny (terminal):
chmod +x patch_file.sh
Uruchom skrypt (terminal):
./patch_file.sh # may require sudo access depending on the directory affected
Jeśli chcesz edytować plik, użyj edytora plików, istnieją edytory plików oparte na poleceniach, których można używać ze skryptów, np. Ex lub ed .
źródło
Szukasz sed lub awk. Uważam, że sed jest prostszy, a awk - mocniejszy.
Oto przykład z innego pytania .
To znaczy:
/usr/share/applications/defaults.list
gedit.desktop
yournew.desktop
-i
źródło
W zależności od tego, co trzeba zmienić, jeśli jesteś zaznajomiony z
vi
czymed
mogą być użyteczne.źródło