Uso del comando SED en Linux con ejemplos

SED o Stream EdEl comando itor es uno de los comandos que debe conocer cualquier usuario de Linux mientras trabaja en la Terminal.

SED El comando le ayuda a realizar varias tareas en un archivo de texto, como actualizar, eliminar, buscar e insertar texto. Una de las características fuertes es que admite el uso de expresiones regulares. Además, te permite editar archivos sin siquiera abrirlos.

En esta guía, le mostraremos diferentes usos de sed comando además de algunos consejos y trucos útiles que le ayudarán en su uso diario de Linux. Para este tutorial, estamos usando Ubuntu como nuestra máquina Linux, pero puede usar el tutorial a continuación en cualquier distribución de Linux.

Primero, asegurémonos de que su sistema esté actualizado usando los siguientes comandos:

sudo apt update
sudo apt upgrade

SED uso de comandos con ejemplos

Sintaxis

sed OPTIONS... [SCRIPT] [INPUTFILE...]

Antes de comenzar con los comandos, asegurémonos de que SED ya esté instalado en su computadora.

sed --version

Obtener la versión del comando Sed
Obtener la versión del comando Sed

Como se muestra en la captura de pantalla anterior, también debería ver la versión en su Terminal.

Creemos un nuevo archivo de texto que usaremos para probar nuestros ejemplos en él.

vi fosslinux_sed

Aquí está el texto en el archivo para que pueda usarlo para probarse a sí mismo.

1. hi theree
2. Sed or Stream Editor command is considered one of the Linux well-known commands that you must know.
3. Using the sed command will help you in performing various tasks on a text file like updating, deleting, searching and inserting text.
4. One of the sed important features is that it supports using regular expressions.
5. Also, the sed command can be used to edit files without even opening it.
6. In this guide, we will show you different uses of sed command besides some useful tips and tricks that will help you in your daily Linux use.
7. For this tutorial, we are using Ubuntu as our Linux machine but you can use the below sed commands in any Linux distribution.

Crear un nuevo archivo de ejemplo
Crear un nuevo archivo de ejemplo

Ejemplo 1. Reemplace todas las ocurrencias de la palabra "sed" con "SEEEEEEED". Tenga en cuenta que es sensible a mayúsculas y minúsculas.

sed 's/sed/SEEEEEEED/g' fosslinux_sed

Reemplazar cierta palabra
Reemplazar cierta palabra

Ejemplo 2. Reemplace todas las ocurrencias de la palabra “sed” con “SEEEEEEED” excepto la palabra “sed” en la cuarta línea.

sed '4!s/sed/SEEEEEEED/' fosslinux_sed

Reemplazar toda la ocurrencia excepto la cuarta línea
Reemplazar todas las ocurrencias excepto la cuarta línea

Ejemplo 3. Agregue espacio al comienzo de cada línea y luego redirija la salida a un nuevo archivo de texto.

sed 's/^/ /' fosslinux_sed > new_fosslinux_sed

Agregue espacios y redireccione la salida a un archivo nuevo.
Agregue espacios y redireccione la salida a un archivo nuevo.

Ahora visualicemos dos archivos y observemos la diferencia.

Vista previa de la diferencia de dos archivos
Vista previa de la diferencia de dos archivos

Ejemplo 4. Obtenga una vista previa de todo el texto entre la palabra "Sed" y la palabra "expresiones".

sed -n '/Sed/,/expressions/p' fosslinux_sed

Mostrar texto entre dos palabras
Mostrar texto entre dos palabras

Ejemplo 5. Obtenga una vista previa de todo el texto entre la segunda y la quinta línea.

sed -n '2,5p' fosslinux_sed

Mostrar texto entre dos números de línea
Mostrar texto entre dos números de línea

Ejemplo 6. Obtenga una vista previa de todo el texto excepto el texto entre la segunda y la quinta línea.

sed '2,5d' fosslinux_sed

Mostrar texto que no esté entre dos números de línea
Mostrar texto que no esté entre dos números de línea

Ejemplo 7. Ahora duplique todos los espacios dentro del archivo.

sed G fosslinux_sed

Duplicar todos los espacios en archivo
Duplicar todos los espacios en archivo

Ejemplo 8. Elimine la última línea del archivo.

sed '$d' fosslinux_sed

Eliminar la última línea del archivo
Eliminar la última línea del archivo

Ejemplo 9. Reemplace la palabra “Linux” por “Ubuntu” en caso de que no se encuentre “Unix”.

sed '/Unix/!s/Linux/Ubuntu/' fosslinux_sed

Reemplazar Word en caso de que Strig no se encuentre
Reemplazar Word en caso de que Strig no se encuentre

Ejemplo 10. Elimine todo el texto entre la segunda línea y la línea que tiene la palabra "normal".

sed '2, /regular /d' fosslinux_sed

Quitar texto de la segunda línea a Lline tiene la palabra regular
Quitar texto de la segunda línea a la línea tiene la palabra regular

Ejemplo 11. Elimine todos los espacios del principio de cada línea.

sed 's/^[ ^t]*//' new_fosslinux_sed

Eliminar espacios desde el principio de cada línea
Eliminar espacios desde el principio de cada línea

Ejemplo 12. Elimine todos los espacios del final de cada línea.

sed 's/[ ^t]*$//' new_fosslinux_sed

Eliminar espacios del final de cada línea
Eliminar espacios del final de cada línea

Ejemplo 13. Elimine todos los espacios del principio y el final de cada línea.

sed 's/^[ ^t]*//;s/[ ^]*$//' new_fosslinux_sed

Eliminar espacios desde el principio y el final de cada línea
Eliminar espacios desde el principio y el final de cada línea

Ejemplo 14. Reemplace la cadena que se encuentra en la primera instancia solo en una línea.

sed 's/2/2222/' fosslinux_sed

Reemplazar cadena encontrada en el inicio de línea solamente
Reemplazar cadena encontrada en el inicio de línea solamente

Ejemplo 15. Reemplace la cadena que se encuentra en la tercera instancia solo en una línea.

sed 's/e/eeeeeee/' fosslinux_sed

Reemplazar cadena encontrada en la tercera instancia en una línea solamente
Reemplazar cadena encontrada en la tercera instancia en una línea solamente

Ejemplo 16. Reemplace la cadena que se encuentra en todas las instancias en una línea.

sed 's/e/eeeeeee/g' fosslinux_sed

Reemplazar cadena encontrada en una línea
Reemplazar cadena encontrada en una línea

Ejemplo 17. Reemplazar cadena si solo se encuentra una determinada palabra.

sed '/sed/s/a/aaaa/g' fosslinux_sed

Reemplazar cadena si se encuentra una determinada palabra
Reemplazar cadena si se encuentra una determinada palabra

Eso es todo por ahora. Espero que hayas disfrutado del uso del comando sed.

Deja una respuesta

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

Subir