Muy tarde respuesta. Sin embargo, esto podría ayudar a otros con un problema / pregunta similar.
Recomendaría crear y aplicar un parche. Un buen ejemplo se puede encontrar
aquí .
Por ejemplo, suponiendo que un archivo new.txt contiene cambios que desea aplicar a old.txt. Puede ejecutar los comandos en un terminal o creando y ejecutando patch_file.sh.
Línea de comando: abra una terminal y copie y ejecute las siguientes líneas (cambie los nombres de los archivos según sea necesario):
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: utilizando un enfoque de archivo .sh. En una terminal (teclado: ctrl + alt + t:
gedit patch_file.sh
Copie y pegue los comandos que irían en la terminal, al archivo .sh y debajo del encabezado como se muestra a continuación (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
Hacer el script ejecutable (terminal):
chmod +x patch_file.sh
Ejecute el script (terminal):
./patch_file.sh # may require sudo access depending on the directory affected
Si desea editar un archivo, use un editor de archivos, hay editores de archivos basados en comandos que pueden usarse desde scripts, como ex o ed .
fuente
Estás buscando sed o awk. Creo que sed es más simple y awk es más poderoso.
Aquí hay un ejemplo de otra pregunta .
Esto significa:
/usr/share/applications/defaults.list
gedit.desktop
yournew.desktop
-i
fuente
Dependiendo de lo que necesite editar, si está familiarizado
vi
,ed
puede ser útil.fuente