GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo insertar texto antes de la primera línea de un archivo?

He estado buscando sed comando para agregar texto a un archivo en una línea específica.
Esto funciona agregando texto después de la línea 1:

sed '1 a

Pero quiero agregarlo antes línea 1. Sería:

sed '0 a

pero recibo este error:invalid usage of line address 0 .

¿Alguna sugerencia?

Respuesta aceptada:

Usa sed inserción de (i ) opción que insertará el texto en la línea anterior.

sed '1 i

Actualización del autor de la pregunta:

Para hacerlo, edite el archivo en su lugar, con GNU sed – Tuve que agregar el -i opción:

sed -i '1 ianything' file

También sintaxis

sed  -i '1i text' filename

Para sed no GNU

Debe presionar la tecla de retorno inmediatamente después de la barra invertida 1i y después de first_line_text :

sed -i '1i
first_line_text
'

También tenga en cuenta que algunos sed no GNU implementaciones (por ejemplo, la de macOS) require un argumento para -i bandera (use -i '' para obtener el mismo efecto que con GNU sed ).

Para sed implementaciones que no admiten -i en absoluto, ejecute sin esta opción pero redirija la salida a un nuevo archivo. Luego reemplace el archivo antiguo con el archivo recién creado.


Linux
  1. Uso avanzado del visor de archivos de menos texto en Linux

  2. Manipulación de texto en la línea de comando con sed

  3. ¿Cómo recorrer las líneas de un archivo?

  4. ¿Cómo mover una línea en un archivo de texto hacia arriba o hacia abajo una línea?

  5. ¿Cómo eliminar las primeras N líneas de un archivo ASCII usando los comandos de Shell?

Aprende a usar el editor de texto Sed

Cómo agregar texto al comienzo del archivo en Linux

Cómo insertar texto al comienzo de cada línea en Vim

Elimine los primeros cinco caracteres en cualquier línea de un archivo de texto en Linux con sed

¿Cómo inserto texto en la primera línea de un archivo usando sed?

¿Cómo extraer texto de un archivo grande, comenzando en la primera aparición de una cadena?