parametros - ¿Cómo copiar las primeras líneas de un archivo gigante y agregar una línea de texto al final con algunos comandos de Linux?
manual vi (3)
¿Cómo copio las primeras líneas de un archivo gigante y agrego una línea de texto al final, usando algunos comandos de Linux?
El comando head
puede obtener las primeras n
líneas. Las variaciones son:
head -7 file
head -n 7 file
head -7l file
que obtendrá las primeras 7 líneas del archivo llamado "file"
. El comando a utilizar depende de su versión de head
. Linux funcionará con el primero.
Para agregar líneas al final del mismo archivo, use:
echo ''first line to add'' >>file
echo ''second line to add'' >>file
echo ''third line to add'' >>file
o:
echo ''first line to add
second line to add
third line to add'' >>file
para hacerlo de un solo golpe.
Entonces, uniendo estas dos ideas, si deseara obtener las primeras 10 líneas del archivo output.txt
para output.txt
y agregar una línea con cinco caracteres "="
, podría usar algo como:
( head -10 input.txt ; echo ''====='' ) > output.txt
En este caso, hacemos ambas operaciones en un sub-shell para consolidar los flujos de salida en uno, que luego se utiliza para crear o sobrescribir el archivo de salida.
Primeras líneas: man head
.
Anexar líneas: use el operador >>
(?) En Bash:
echo ''This goes at the end of the file'' >> file
Supongo que lo que está intentando lograr es insertar una línea después de las primeras líneas de un archivo de texto.
head -n10 file.txt >> newfile.txt
echo "your line >> newfile.txt
tail -n +10 file.txt >> newfile.txt
Si no desea descansar de las líneas del archivo, simplemente omita la parte de la cola.