cómo reemplazar varias líneas usando el comando` sed ‘

a veces se requiere reemplazar varias líneas de un archivo con cualquier carácter o texto en particular. Existen diferentes comandos en Linux para reemplazar varias líneas de un archivo. el comando ‘ sed ‘ es uno de ellos para realizar este tipo de tareas. La forma completa de `sed ‘ es Steam Editor, y se utiliza principalmente para leer y convertir el texto de diferentes maneras mediante el uso de una expresión regular., En este tutorial se explica cómo se puede usar este comando para reemplazar las múltiples líneas de un archivo de diferentes maneras.

Hoja de trucos » sed «de uso común:

los caracteres más utilizados en el comando» sed » se explican en la siguiente tabla.

Personaje Propósito
a se utiliza para añadir contenido.
b se utiliza para la ramificación de contenido.
c se utiliza para cambiar el contenido.,
d se utiliza para eliminar una línea de un archivo.
D se utiliza para eliminar la primera línea de un archivo.
g Se utiliza para copiar desde la celebración de texto.
G se utiliza para añadir desde el texto de retención.
h se utiliza para copiar en el texto.
H se utiliza para anexar a la celebración de texto.
i se utiliza para la inserción.
I se utiliza para imprimir el sustituto de la línea.,
n se utiliza para ir a la siguiente línea.
N se utiliza para añadir la siguiente línea de entrada.
p se utiliza para imprimir.
P se utiliza para imprimir la primera línea.
q se utiliza para dejar de fumar.
Q se usa para salir inmediatamente.
r se utiliza para leer el archivo.
R se utiliza para leer la línea del archivo.
s se utiliza para sustituir.,
t se utiliza para la prueba de la sustitución.
T se utiliza para la prueba de ninguna sustitución.
w se utiliza para escribir en el archivo.
W se utiliza para escribir una línea en el archivo.
x se utiliza para intercambiar los patrones y mantener.
y se utiliza para traducir.
z se utiliza para borrar la línea.
‘=’ se utiliza para imprimir el número de línea.,

Reemplace varias líneas usando el comando `sed` del terminal:

en esta parte de este tutorial se muestra cómo se puede usar el comando `sed` para reemplazar las múltiples líneas de un archivo del terminal. Crea un archivo llamado sed.txt con el siguiente contenido pruebe los comandos de esta parte.

sed.txt

la forma completa de sed es «stream editor».

es una utilidad Unix que se utiliza para leer y convertir el texto en un formato diferente.

fue desarrollado por Lee E. McMahon.,

se utiliza para el procesamiento de texto.

soporta expresiones regulares.

ejemplo-1: Reemplazar dos líneas consecutivas

el siguiente comando `sed` reemplazará dos líneas consecutivas con otra línea. Aquí, la opción-z se usa para reemplazar las líneas consecutivas con datos nulos antes de agregar el texto de reemplazo. De acuerdo con el comando, las líneas 3 y 4 del archivo serán reemplazadas por el texto, ‘es una herramienta muy útil’.

cat cat sed.txt
s sed-z ‘ s / It fue desarrollado por Lee E. McMahon.\nIt se utiliza para el procesamiento de texto
.,/Es una herramienta muy útil./ ‘sed.txt

la siguiente salida aparecerá después de ejecutar los comandos.

Ejemplo-2: reemplazar varias líneas basadas en la coincidencia y la bandera global

el siguiente comando `sed` reemplazará todas las líneas que comiencen con la palabra ‘It’ Por la palabra ‘This line is replaced ‘.

cat cat sed.txt
s sed ‘ s / ^It.* / Esta línea se sustituye por / g ‘ sed.txt

la siguiente salida aparecerá después de ejecutar los comandos. Tres líneas contienen la palabra ‘ It ‘ en el archivo., Por lo tanto, estas líneas han sido reemplazadas por el texto de reemplazo.

Ejemplo-3: reemplazar varias líneas basadas en el comando match y next-line

el siguiente comando `sed` reemplazará la palabra,’is’ Por la palabra, ‘was’ con el comando de la siguiente línea, ‘n’.

cat cat sed.txt
s sed ‘ {n; / is/{s/is/ was/}}’ sed.txt

la siguiente salida aparecerá después de ejecutar los comandos. Aquí,’ is ‘ existe en las líneas 2da y 4ta del archivo, y estas líneas son modificadas por la palabra ‘was’.,

Reemplace varias líneas creando el archivo de script `sed`:

en los ejemplos anteriores, los comandos `sed` se han ejecutado desde el terminal. Pero es un lenguaje de scripting, y si el script contiene varias sentencias, entonces es mejor crear un archivo sed con el script. Cree un archivo de texto llamado students.txt con el siguiente contenido en el que se aplicará el script` sed’.

estudiantes.txt

Ejemplo-4: reemplazar varias líneas de un archivo usando` sed ‘ script file

crear un archivo sed llamado para reemplazar.,sed con el siguiente contenido para reemplazar las múltiples líneas basadas en el patrón de búsqueda. Aquí, la palabra ‘CSE’ se buscará en el archivo de texto, y si la coincidencia existe, entonces volverá a buscar el número 35 y 15. Si la segunda coincidencia existe en el archivo, entonces será reemplazada por el número 45.

reemplazar.sed

/CSE/ {
p;n;
/35/ {
s/35/45/;
p;d;
}
/15/ {
s/15/55/;
p;d;
}
}
p;

Ejecute el siguiente comando para comprobar el contenido del archivo. ‘CSE’ apareció cuatro veces en el archivo de texto., 35 y 15 existen en dos lugares.

students estudiantes de cat.txt

el siguiente comando reemplazará el contenido de las múltiples líneas basadas en el script sed.

replace sed-n-f replace.estudiantes del sed.txt

la siguiente salida aparecerá después de ejecutar el comando.

conclusión

en este tutorial se han mostrado diferentes formas de reemplazar múltiples líneas o el contenido de las múltiples líneas usando el comando `sed`., Cómo se puede ejecutar el script` sed ‘ desde un archivo sed también se muestra en este tutorial. Espero que este tutorial ayude al lector a reemplazar múltiples líneas de cualquier archivo mediante el comando `sed`.

Author: admin

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *