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

Pregunta:

He estado buscando el comando sed 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 de la línea 1. Sería:

sed '0 a\

pero me sale este error: invalid usage of line address 0 .

¿Cualquier sugerencia?

Respuesta:

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

sed '1 i\

Actualización del autor de la pregunta:

Para que edite el archivo en su lugar, con GNU sed , tuve que agregar la opción -i :

sed -i '1 i\anything' file

También sintaxis

sed  -i '1i text' filename

Para sed no GNU

first_line_text 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 algunas implementaciones de sed que no son de GNU (por ejemplo, la de macOS) requieren un argumento para el indicador -i (use -i '' para obtener el mismo efecto que con sed GNU).

Para las implementaciones de sed 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.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım