GNU/Linux >> Tutoriales Linux >  >> Linux

Uso del comando sed de Linux con ejemplos

Sed, abreviatura de Stream EDItor, es un comando que se utiliza para realizar transformaciones y manipulaciones de texto en un archivo. Algunas de estas transformaciones incluyen buscar y reemplazar texto. Con el comando sed de Linux, puede manipular y editar archivos de texto sin siquiera abrirlos. En este tutorial, aprenderá a manipular archivos de texto usando el comando sed.

Sintaxis del comando sed de Linux

$ sed  {OPTIONS} filename

En este tutorial, usaremos linuxgeek.txt archivo como nuestro archivo de referencia.

# cat linuxgeek.txt

Salida

1. Sustituir o reemplazar una cadena

En la mayoría de los casos, el comando sed se usa para reemplazar cadenas de texto.

El siguiente comando reemplaza 'Linux ' con 'Unix ‘.

# sed 's/Linux/Unix/' linuxgeek.txt
  • Los s en el comando está el indicador de reemplazo.
  • El / son los delimitadores
  • Linux es el término de búsqueda
  • unix es el término de reemplazo

De forma predeterminada, el comando sed reemplaza solo la primera aparición en una línea . Las ocurrencias posteriores no serán sustituidas ni reemplazadas.

Salida

2. Sustituir o reemplazar la enésima aparición en una línea

Si desea reemplazar la ocurrencia de la segunda cadena en una línea, use el /2 bandera como se muestra.

# sed 's/Linux/Unix/2' linuxgeek.txt

Salida

3. Sustituir o reemplazar todas las apariciones del patrón en un archivo

Para reemplazar todas las apariciones del patrón de búsqueda en el archivo, use el /g bandera. El /g es el reemplazo global.

# sed 's/Linux/Unix/g' linuxgeek.txt

Salida

4. Sustituir o reemplazar todas las apariciones de una cadena solo en una línea específica

Si desea reemplazar todas las ocurrencias de una cadena en una línea específica, digamos en la línea 2, use la siguiente sintaxis

# sed '2 s/Linux/Unix/g' linuxgeek.txt

Salida

5. Sustituir o reemplazar una cadena en un rango específico de líneas

Si desea especificar el rango de líneas en las que se producirá el reemplazo de cadena, utilice el ejemplo que se muestra a continuación. El ejemplo indica que el reemplazo debe ocurrir desde las líneas 1 -3

# sed '1,3 s/Linux/Unix/g' linuxgeek.txt

Salida

Además, puede reemplazar el texto de una línea específica al final del archivo como se muestra

# sed '2,$ s/Linux/Unix/g' linuxgeek.txt

Lo que hace el comando es que reemplaza todas las ocurrencias desde la segunda línea hasta la última línea del archivo.

Salida

6. Coloca entre paréntesis el primer carácter de cada palabra

El siguiente ejemplo demuestra cómo puede poner paréntesis en cada primer carácter de una palabra en una línea.


$ echo "Hey Guys, Welcome To Linux Operating System" | sed 's/\(\b[A-Z]\)/\(\1\)/g'

Salida

7. Eliminar líneas de un archivo

También puede usar el comando linux sed para eliminar líneas en un archivo.

Ejemplos

Sintaxis:


$ sed 'nd' filename.txt

Para eliminar la tercera línea del archivo, ejecute

$ sed '3d' linuxgeek.txt

Salida

Para eliminar un rango de líneas, digamos de la línea 3 a la línea 5, ejecute el comando:

$ sed '3,5d' linuxgeek.txt

Salida


Linux
  1. Comando wc Linux con ejemplos

  2. Comando de clasificación de Linux con ejemplos

  3. El comando Sed de Linux:uso y ejemplos

  4. Comando Linux Tee con ejemplos

  5. Comando JQ en Linux con ejemplos

Comando de fecha en Linux con ejemplos de uso

Comando Diff en Linux con ejemplos

Comando de CD de Linux con ejemplos

Comando IP de Linux con ejemplos de uso

Comando IP de Linux con ejemplos

Uso del comando Linux mv con ejemplos