Hoja de trucos 'sed' comúnmente utilizada:
Los caracteres más utilizados utilizados en el comando 'sed' se explican en la siguiente tabla.
Personaje | Objetivo |
a | Se usa para agregar contenido. |
b | Se usa para ramificar contenido. |
C | Se usa para cambiar de contenido. |
d | Se usa para eliminar una línea de un archivo. |
D | Se usa para eliminar la primera línea de un archivo. |
gramo | Solía copiar desde el texto de retención. |
GRAMO | Se usa para agregar del texto de retención. |
H | Se usa para copiar en el texto de retención. |
H | Se usa para agregar al texto de retención. |
i | Se usa para la inserción. |
I | Se usa para imprimir la línea sustituta. |
norte | Se usa para ir a la siguiente línea. |
norte | Se usa para agregar la siguiente línea de entrada. |
pag | Se usa para imprimir. |
PAG | Se usa para imprimir la primera línea. |
Q | Se usa para dejar de fumar. |
Q | Se usa para dejar de fumar inmediatamente. |
riñonal | Se usa para leer el archivo. |
Riñonal | Se usa para leer la línea desde el archivo. |
s | Se usa para sustituir. |
T | Se usa para evaluar la sustitución. |
T | Se usa para probar sin sustitución. |
w | Se usa para escribir en el archivo. |
W | Se usa para escribir una línea en el archivo. |
X | Se usa para intercambiar patrones y sostener. |
Y | Se usa para traducir. |
z | Se usa para borrar la línea. |
'=' | Se usa para imprimir el número de línea. |
Reemplace múltiples líneas usando el comando 'SED' desde el terminal:
En esta parte de este tutorial se puede usar el comando 'SED' para reemplazar las múltiples líneas desde un archivo desde el terminal. Crea un archivo llamado sed.TXT con el siguiente contenido prueba los comandos de esta parte.
sed.TXT
La forma completa de SED es "Editor de transmisión".
Es una utilidad Unix que se utiliza para leer y convertir el texto en un formato diferente.
Fue desarrollado por Lee E. McMahon.
Se usa para el procesamiento de texto.
Admite expresiones regulares.
Ejemplo-1: reemplace 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. Según el comando, el 3rd y 4th Las líneas del archivo serán reemplazadas por el texto, 'Es una herramienta muy útil'.
$ Cat Sed.TXT
$ Sed -Z 'S/fue desarrollado por Lee E. McMahon.\ nit se usa para texto
Procesando./Es una herramienta muy útil./'sed.TXT
La siguiente salida aparecerá después de ejecutar los comandos.
Ejemplo-2: reemplace múltiples líneas basadas en la bandera de coincidencia y global
El siguiente comando 'sed' reemplazará todas las líneas que comienzan con la palabra, 'Él' por la palabra, 'Esta línea se reemplaza '.
$ Cat Sed.TXT
$ sed 's/^it.*/Esta línea se reemplaza/g 'sed.TXT
La siguiente salida aparecerá después de ejecutar los comandos. Tres líneas contienen la palabra 'Él' en el archivo. Entonces, estas líneas han sido reemplazadas por el texto de reemplazo.
Ejemplo-3: reemplace múltiples líneas basadas en el comando coincidente y la próxima línea
El siguiente comando 'sed' reemplazará la palabra ',es'Por la palabra'era'Con el comando de próxima línea,' n '.
$ Cat Sed.TXT
$ sed 'n;/is/s/is/was/' sed.TXT
La siguiente salida aparecerá después de ejecutar los comandos. Aquí, 'es' existe en los 2Dakota del Norte y 4th líneas del archivo, y estas líneas se modifican por la palabra 'era'.
Reemplace múltiples 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 secuencias de comandos, y si el script contiene múltiples declaraciones, entonces es mejor crear un archivo SED con el script. Crear un archivo de texto llamado estudiantes.TXT con el siguiente contenido en el que se aplicará el script 'Sed'.
estudiantes.TXT
ID: 111045Ejemplo-4: reemplace múltiples líneas de un archivo utilizando el archivo de script 'sed'
Crear un archivo SED nombrado 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, volverá a buscar nuevamente el número 35 y 15. Si el segundo partido existe en el archivo, será reemplazado por el número 45.
reemplazar.sed
/ CSE/
p; n;
/ 35/
S/35/45/;
p; d;
/15/
S/15/55/;
p; d;
pag;
Ejecute el siguiente comando para verificar el contenido existente del archivo. 'CSE' apareció cuatro veces en el archivo de texto. 35 y 15 existen en dos lugares.
Estudiantes de $ Cat.TXT
El siguiente comando reemplazará el contenido de las múltiples líneas en función del script SED.
$ sed -n -f reemplazar.estudiantes 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 utilizando el comando 'SED'. Cómo se puede ejecutar el script 'SED' a partir de 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 utilizando el comando 'sed'.