¿Cómo elijo dónde se va a guardar la salida en un archivo?
Tengo un archivo como este:
file1:
a aa
b bb
c cc
file 2:
d dd ddd
e ee eee
Quiero mostrar el contenido de file2 en file1, en la línea con el patrón que elija, antes de la línea con “a” y después de la línea con “b”, de esta manera:
file 1:
d dd ddd
a aa
b bb
e ee eee
c cc
Solo sé cómo usar “puts” en Tcl o “>>” con “echo” en csh, pero solo muestran la salida en la última línea.
davy.ai
Para lograr el resultado deseado, puedes seguir los siguientes pasos:
Aquí tienes un código de ejemplo en Tcl para lograr esto:
En csh, puedes usar el comando
sed
para lograr el mismo resultado:El primer comando
sed
agrega una nueva línea y el contenido del archivo2 después de la línea que contiene “a aa”. El segundo comandosed
busca la línea que contiene “a aa”, pasa a la siguiente línea (n
) e inserta el contenido del archivo2 antes de esa línea. El comandoG
agrega una nueva línea y el contenido de la memoria intermedia después de la línea actual, efectivamente insertando el contenido del archivo2. El mismo enfoque se puede usar para insertar el contenido del archivo2 antes de la línea que contiene “b bb”. La opción-i
indica ased
que modifique el archivo directamente.