Editor de secuencias (SED): conceptos básicos

Editor De Secuencias Sed Conceptos Basicos



SED, también conocido como editor de transmisiones, es una herramienta muy útil. Se utiliza para buscar una palabra o patrón en particular y posteriormente hacer algo con la palabra o patrón o, en otras palabras, transformarlo. En Windows, SED también se conoce como funciones de 'buscar' y 'reemplazar'. SED viene con Ubuntu, por lo que no es necesario instalar nada; simplemente empieza a usarlo. En este tutorial, le mostraremos cómo usar SED o el editor de transmisiones.

El comando 'S'

El más importante de todos los comandos en SED o el editor de secuencias es el comando 's'. La “s” significa sustituto. La sintaxis es la siguiente:







's / expresión regular / reemplazo / banderas

 
Entonces, usemos un archivo llamado 'file.txt' para los ejemplos. Así es como se ve 'archivo.txt' si lo capturas:




Usemos un ejemplo para mostrar cómo funciona el comando 's':



pero 's / primero / luna / soy archivo.txt > luna.txt

 
Cuando se da tal expresión, significa:





    • s – Significa sustituto.
    • primero: la palabra a buscar en el archivo llamado 'archivo.txt'.
    • luna – La palabra “primero” se reemplaza por la palabra “luna”.
    • i – Significa ignorar. Ignoraremos esta parte por primera vez.
    • file.txt: el archivo donde SED buscará el patrón o la palabra. En este caso, la palabra “primero” será:
    • buscado en archivo.txt

    • moon.txt: cuando la palabra 'primero' se reemplaza por la palabra 'luna', se guardará en 'moon.txt'.

Entonces, ¿qué está pasando aquí? SED sustituye la palabra 'primero' por 'luna' solo en la primera instancia (eso significa que si la palabra 'primero' aparece varias veces, no la reemplazará por completo ni la reemplazará varias veces). El archivo que busca se llama “archivo.txt” y una vez realizada la transformación o el reemplazo, se guardará en “moon.txt”.



Esto es lo que parece:


Recuerde colocar el '/' donde debe estar. Si omite un '/', SED no aceptará el comando.

Hasta ahora, solo reemplazamos la palabra 'primero' por 'encontrado' con el reemplazo. Ahora, supongamos que queremos reemplazar la palabra “línea” (que aparece muchas veces – cuatro veces para ser específico) en la tercera línea con la palabra “ángel”.

¿Cómo nos dirigimos específicamente a esa tercera línea? Usamos el siguiente comando:

pero '3s / línea / ángel / soy archivo.txt > angel.txt

 
Entonces, ¿qué acaba de pasar aquí? Bueno, el '3' especifica el número de línea. Por tanto, pasa a la tercera línea. Luego, sustituya la palabra 'línea' por 'ángel' en el archivo llamado 'archivo.txt' y guarde el archivo transformado como 'angel.txt'.


¿Qué pasa si queremos reemplazar o transformar las líneas “3” y “4”?

pero 3 ,4s / línea / ángel / soy archivo.txt > angel2.txt

 

Tenga en cuenta que en el ejemplo anterior utilizamos el indicador 'i' para ignorar. Ahora usamos la bandera 'g' para global.

Usemos un ejemplo para mostrar cómo funciona el comando 's':

pero 's / línea / sol / g' archivo.txt > sol.txt

 
Cuando se da tal expresión, significa:

La “g” significa global. Recuerde que en el primer ejemplo, cuando usamos la bandera 'i', solo hay un reemplazo. Ahora que agregamos una “g” para global, significa sustituir en todas partes. Entonces, en lugar de decir primera línea, segunda línea, tercera línea y última línea, dice primer sol, segundo sol, tercer sol y último sol. Reemplaza la palabra línea en todo el archivo (en todas partes) con la palabra 'sol'.


Ahora bien, ¿qué pasa si queremos seleccionar una sola línea en función de una palabra que contiene? Bueno, podemos ver que la última línea de 'file.txt' tiene la palabra 'último'. Ahora, supongamos que queremos el mensaje “Esta es la última línea. Esta es la última frase”. frase para convertirse en “Este es el último fantasma”. Esta es la última frase”.

Escribimos lo siguiente:

pero / último / s / línea / fantasma / ' archivo.txt > fantasma.txt

 
El 'último' aquí le dice al SED que busque la línea que tiene la palabra 'último' y luego reemplace la palabra 'línea' con 'fantasma' dentro de esa línea.


Ahora supongamos que queremos hacer lo contrario. Supongamos que queremos que cada línea sin la palabra 'última' tenga la palabra 'línea' cambiada a 'fantasma'. Escribamos lo siguiente:

pero / último /! s / línea / fantasma / ' archivo.txt > fantasma2.txt

 
Como puede ver aquí, cada línea excepto la última (que contiene la palabra 'última') tiene la palabra 'línea' reemplazada por la palabra 'fantasma'.


También podemos hacer esto con números de línea:

pero 3 , 4 ! s / línea / noche / soy archivo.txt > noche.txt

 
En este caso, las líneas 3 y 4 se omiten, pero cada dos líneas reemplaza la palabra 'línea' por la palabra 'noche'.

Múltiples comandos

Ahora bien, ¿qué pasaría si tuvieras varios comandos? ¿Prefieres hacerlo uno a la vez o todos a la vez y ahorrarte tiempo y trabajo?

¿Qué pasa si queremos cambiar la palabra “primero” por “día”, “segundo” por “noche” y “el resto” por “fantasma”? Usamos el punto y coma para hacer esto. ¡No olvides poner el punto y coma al final!

Tenga en cuenta que no es absolutamente necesario que coloque el indicador 'i' o el indicador 'ignorar', pero sí es absolutamente necesario que coloque la barra diagonal (/) después de la frase de transformación.

Ahora, veámoslo con un ejemplo:

pero 's / primero / día / ; s / segundo / noche / ; s / tercero / fantasma / ; s / último / fantasma / ;' archivo.txt > combinación.txt

 

Conclusión

El editor de secuencias o SED es una forma de seleccionar una palabra o un patrón y transformarlo. En realidad, es el equivalente en línea de comandos de las funciones 'buscar' y 'reemplazar' de Windows. El comando SED puede volverse realmente complicado, pero si al menos conoces los conceptos básicos, ¡estás listo para hacerlo! SED es en realidad una herramienta muy poderosa con muchas funciones. Aunque no podemos cubrirlos todos en un solo tutorial, cubrimos los conceptos básicos de SED. En esencia, aprendimos cómo transformar una palabra en particular usando el comando 's', donde 's' significa sustituto. Podemos sustituir las palabras por otras palabras, elegir selectivamente una línea donde se producirá la sustitución o incluso negarla. De cualquier manera, esta es la parte más sencilla de SED.

¡Feliz codificación!