GNU/Linux >> Tutoriales Linux >  >> Linux

Inserte varias líneas en un archivo después del patrón especificado usando el script de shell

Otro sed ,

sed '/cdef/r add.txt' input.txt

entrada.txt:

abcd
accd
cdef
line
web

añadir.txt:

line1
line2
line3
line4

Prueba:

sat:~# sed '/cdef/r add.txt' input.txt
abcd
accd
cdef
line1
line2
line3
line4
line
web

Si desea aplicar los cambios en input.txt expediente. Luego, usa -i con sed .

sed -i '/cdef/r add.txt' input.txt

Si desea usar una expresión regular como expresión, debe usar -E etiqueta con sed .

sed -E '/RegexPattern/r add.txt' input.txt

Usando GNU sed :

sed "/cdef/aline1\nline2\nline3\nline4" input.txt

Si empezaste con:

abcd
accd
cdef
line
web

esto produciría:

abcd
accd
cdef
line1
line2
line3
line4
line
web

Si desea guardar los cambios en el archivo en el lugar, diga:

sed -i "/cdef/aline1\nline2\nline3\nline4" input.txt

Linux
  1. ¿Shell prueba si la cadena de varias líneas contiene un patrón especificado en la última línea?

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

  3. ¿Cómo buscar contenido después del patrón?

  4. Cambiar el contenido de un archivo a través de un script de shell

  5. ¿Cómo generar una lista de líneas únicas en un archivo de texto usando un script de shell de Linux?

Cómo unir varias líneas en una en un archivo en Linux

Cómo quitar líneas de un archivo usando el comando Sed

¿Cómo agregar varias líneas a un archivo?

¿Guardar archivo después de usar el comando Sed?

Abra Vim desde dentro de un script de shell Bash

sed - insertar línea después de X líneas después del partido