Necesito copiar el contenido de un archivo de texto y pegarlo en otro archivo de texto. El primer archivo de texto tiene 10 líneas de datos y necesito que se copien en el segundo archivo de texto que comienza en la línea número 5 (por ejemplo). Entonces, en el segundo archivo de texto, esos datos deben escribirse de la línea 5 a la línea 14. ¿Cómo se puede hacer esto? Gracias por adelantado. Considérame un novato con respecto a Linux.
text-processing
G. Paschalis
fuente
fuente

(head -n 5 a.txt ; cat b.txt ; tail -n +6 a.txt) > c.txtLa herramienta más fácil aquí podría ser
sed. Para insertarb.txtena.txtdespués de la línea 5, se podría escribir:sedlee el archivo especificado como argumento (a.txt) línea por línea. Todas las líneas se reproducen en la salida tal como aparecieron en la entrada, a menos que un comando las modifique.La
5es una dirección (número de línea) en la que se ejecutará el siguiente comando. El comando que usamos esr, que toma un nombre de archivo como argumento (aquíb.txt), lo lee por completo y lo inserta en la salida después de la línea actual.Tal como está arriba, esta
sedlínea de comando solo imprimirá la salida al terminal, sin escribir en ningún archivo. Puede redirigirlo a un nuevo archivo (¡no a ninguno de los archivos de entrada!) Utilizando la redirección de salida de Bash:O puede modificar directamente el archivo de entrada externo
a.txtutilizandosedel-iinterruptor 's (para "en el lugar"). Si lo escribe como-i.bak,.bakprimero hará una copia de seguridad del archivo de entrada original con el sufijo :Un ejemplo:
fuente
(Reutilizando un ejemplo elegante de @ByteCommander :)
fuente