GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo agregar una línea de encabezado y final a un archivo en Linux

En este artículo, veremos las diferentes formas de agregar un registro de encabezado o un registro final a un archivo.

Consideremos un archivo, archivo1.

$ cat file1
apple
orange
grapes
banana

Agregar una línea al inicio del archivo (encabezado)

1. Para agregar un registro de encabezado usando sed:

$ sed '1i some text at the beginning' file1
some text at the beginning
apple
orange
grapes
banana

El '1i' en sed incluye (i) la línea algo de texto al principio solo antes de la primera línea (1) del archivo. El comando anterior muestra el contenido del archivo junto con el encabezado sin actualizar el archivo. Para actualizar el archivo original, use la opción -i de sed como se muestra a continuación:

$ sed -i.bkp '1i some text at the beginning' file1

La opción -i.bkp crea un archivo de copia de seguridad llamado file1.bkp antes de realizar cualquier cambio en el archivo original. La extensión .bkp puede ser cualquier cosa de su elección.

2. También puede usar este ejemplo de sed para insertar una línea de encabezado:

$ sed '1s/^/some text at the beginning\n/' file1

El '1' indica el número de línea que solo coincidirá al realizar la sustitución con el comando 's'. El símbolo '^' indica el comienzo de la línea. También tenga en cuenta el retorno de carro '\n' agregado al final, que ayuda a imprimir una nueva línea después del reemplazo.

3. También puede usar el comando cat con la instrucción bash printf para agregar una línea al comienzo del archivo.

$ printf '%b' 'some text at the beginning\n' | cat - file1

4. Para agregar un registro de encabezado a un archivo usando awk:

$ awk 'BEGIN{print "some text at the beginning"}1' file1
some text at the beginning
apple
orange
grapes
banana

El COMIENZO La declaración en awk hace que la declaración tenga texto al principio para imprimirse antes de procesar el archivo y, por lo tanto, el encabezado aparece en la salida. El 1 es para indicar que se imprima cada línea del archivo.

Agregar una línea al final del archivo (tráiler)

1. El más fácil de todos los comandos aquí es simple usando la redirección para agregar una línea al final del archivo. Por ejemplo:

$ echo "some text at the end" >> file1

2. Para agregar un registro de tráiler a un archivo usando sed:

$ sed '$a some text at the end' file1
apple
orange
grapes
banana
some text at the end

El $a hace que sed agregue (a) a la declaración un texto al final solo después de la última línea ($) del archivo.

3. Para agregar un registro de tráiler a un archivo usando awk:

$ awk '1;END{print "some text at the end"}' file
apple
orange
grapes
banana
some text at the end

El FIN label hace que la declaración de impresión se imprima solo después de que se haya procesado el archivo. El 1 es para imprimir cada línea. 1 en realidad significa verdadero.

utilizado en MAC OSX

sed se comporta de forma poco diferente en MAC OS, en comparación con GNU sed. Puede probar el siguiente ejemplo sed para agregar una línea de encabezado al archivo en MAC.

$ sed -i '.bak' '1s/^/some text at the beginning\'$'\n/g' file1


Linux
  1. Cómo agregar texto al final del archivo en Linux

  2. Cómo eliminar archivos y directorios en Linux desde la línea de comandos

  3. Qué es NFS y cómo instalarlo en Linux

  4. Cómo agregar fácilmente texto al final del archivo en Linux

  5. Cómo contar el número de líneas en un archivo en Linux (ejemplos de comandos wc y nl)

Cómo crear directorios desde un archivo de texto en Linux

Cómo agregar texto al comienzo del archivo en Linux

Cómo encontrar las líneas más largas en un archivo en Linux

Cómo crear y usar un archivo de intercambio en Linux

Cómo ocultar carpetas y archivos en Linux usando un archivo de texto

Cómo extraer el archivo Tar.xz en la línea de comandos de Linux