Очень поздний ответ. Однако это может помочь другим с подобной проблемой / вопросом.
Я бы порекомендовал создать и применить патч. Хороший пример можно найти
здесь .
Например, предположим, что файл new.txt содержит изменения, которые вы хотите применить к old.txt. Вы можете выполнять команды на терминале или путем создания и выполнения patch_file.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
Сценарий: использование подхода .sh. В терминале (клавиатура: Ctrl + Alt + T:
gedit patch_file.sh
Скопируйте и вставьте команды, которые будут идти на терминале, в файл .sh и под заголовком, как показано ниже (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
Сделайте скрипт исполняемым (терминал):
chmod +x patch_file.sh
Запустите скрипт (терминал):
./patch_file.sh # may require sudo access depending on the directory affected
Если вы хотите отредактировать файл, используйте редактор файлов, есть командные редакторы файлов, которые можно использовать из сценариев, например ex или ed .
источник
Вы ищете sed или awk. Я считаю, что sed проще, а awk - мощнее.
Вот пример из другого вопроса .
Это означает:
/usr/share/applications/defaults.list
gedit.desktop
yournew.desktop
-i
источник
В зависимости от того, что вам нужно отредактировать, если вы знакомы,
vi
тоed
может быть полезно.источник