"El término sed es una abreviatura de editor de transmisión. En Unix/Linux, el sed Comando analizados y transforma transmisiones (textos, en la mayoría de los casos). Es una herramienta de línea de comandos que viene preinstalada en cada sistema UNIX/Linux."
En esta guía, exploraremos el GRAMO opción sed.
Uso básico de SED
El uso más común del comando SED es encontrar y reemplazar el contenido en una corriente dada. La estructura de comando es la siguiente:
$ sed 's ///'
Eche un vistazo al siguiente ejemplo:
$ Echo "The Quick Brown Fox" | sed 's/the/the/'
Aquí,
Si está intentando editar un archivo de texto, SED no cambiará el contenido del archivo de forma predeterminada. Esto es para evitar la pérdida de datos accidentales. Para cambiar el contenido de un archivo directamente, debe ejecutar SED con edición en el lugar.
La opción G en SED
Al encontrar y reemplazar, el comportamiento predeterminado de sed es terminar sus acciones al encontrar la primera instancia. El siguiente ejemplo demuestra este comportamiento perfectamente:
$ echo "el el" | sed 's/the/the/'
Aquí,
Para instruir a SED para transformar todas las instancias coincidentes del patrón dado, tenemos que agregar la opción G. Actualice el comando de la siguiente manera:
$ echo "el el" | sed 's/the/the/g'
Ahora, todas las instancias de "el" se cambian a "el" correctamente.
La opción G en SED
Finalmente llegamos al punto de enfoque de esta guía. Mientras que la gramo La opción es aplicable para la sustitución de texto, el GRAMO La opción se usa para un propósito completamente diferente.
Utilizando el GRAMO Opción, podemos agregar el espacio de retención al espacio del patrón. En términos simples, podemos agregar nuevas líneas antes/después del patrón de coincidencia.
Para la demostración, he creado un archivo de texto de muestra prueba.TXT:
gato << EOF > prueba.TXT
el
rápido
marrón
el
zorro
EOF
Espaciado adicional
Ahora podemos realizar varias operaciones en el espacio del archivo. Por ejemplo, para espaciar el archivo, use el siguiente comando:
Prueba de $ sed g.TXT
Del mismo modo, podemos triplicar el espacio del archivo:
prueba de $ sed 'g; g'.TXT
Aquí,
Eliminar espaciado adicional
También podemos usar el GRAMO Opción para eliminar todas las líneas en blanco y doble espacio:
prueba de $ sed 'g; g'.txt | sed '/^$/d; g'
Insertar líneas en blanco antes/después de los partidos
Podemos especificar un patrón usando expresión regular y decirle a SED que agregue una línea en blanco antes/después.
El primer ejemplo será agregar una línea en blanco debajo del patrón de coincidencia:
$ sed '/the/g' prueba.TXT
El siguiente ejemplo será agregar una línea en blanco sobre el patrón de coincidencia:
$ sed '/the/x; p; x;'.TXT
Finalmente, podemos combinarlos a ambos para insertar líneas en blanco alrededor del patrón coincidente:
$ sed '/the/x; p; x; g;'.TXT
Pensamientos finales
En esta guía, demostramos con éxito varias formas de usar el GRAMO opción con sed Para agregar espacios en el texto. Esta técnica puede ser útil en varias situaciones, por ejemplo, destacando líneas específicas en un registro de depuración.
Una gran ventaja de SED es su soporte de expresión regular. Obtenga más información sobre SED con Regex. El comando SED también se puede integrar fácilmente en scripting de shell.
Computación feliz!