Buscar…
Comando SED de Linux: Usos y Ejemplos
El comando SED de Linux es un fuerte instrumento que contribuye a desarrollar una tarea que puede tener diversas finalidades, como lo es analizar y transformar texto. Actualmente, SED se ejecuta en los sistemas operativos más conocidos.
La sintaxis y varios atributos útiles de SED provienen principalmente del editor ed. El mecanismo en sí mismo incorpora flujos de entrada estándar, así como de archivos de texto. La sintaxis basada en script de SED tiene una particularidad: puede ser un poco complicada al comienzo. No obstante, muchas tareas difíciles se pueden solucionar con unas pocas líneas de comandos SED.

Instalación de SED

En la distribución basada en Linux, SED viene instalado por defecto. Recordá, antes de iniciar, que tenés que acceder a tu VPS con SSH. El comando which se puede utilizar para corroborar si el sistema tiene instalado SED o no. En el sistema GNU/Linux Debian es posible instalar el comando SED utilizando el administrador de paquetes apt como te mostramos a continuación:
[usuario]: ~$ sudo apt-get install sed
Para garantizar que el comando SED se haya instalado correctamente, podés utilizar el siguiente comando:
[usuario]: ~$ sed --versión
El comando devolverá el siguiente resultado:
sed (GNU sed) 4.2. Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
Written by Jay Fenlason, Tom Lord, Ken Pizzini, and Paolo Bonzini. GNU sed home page: <http://www.gnu.org/software/sed/>. General help using GNU software: <http://www.gnu.org/gethelp/>. E-mail bug reports to: <[email protected]>

Flujo de trabajo de SED

El flujo de trabajo básico de SED se reduce a las siguientes funciones: Leer, Ejecutar y Mostrar.
El comando de lectura registra el valor de entrada y lo almacena en un búfer de patrón. La parte de ejecución se encarga de ejecutar secuencialmente el comando en un archivo. Luego de la ejecución, muestra la secuencia de salida. El buffer de patrón se libera a medida que el contenido se deja ver en la interfaz. El proceso de comando de lectura, ejecución y visualización se reitera hasta el final del archivo.

Diferentes ejemplos de uso de SED

Sintéticamente, la función de SED es leer un archivo y generar un texto como resultado. Para crear el archivo de texto, utiliza el editor vi.
[user]: ~$ vi text.txtPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
El comando para leer un archivo de texto es el que figura a continuación: [user]: ~$ sed ‘’ text.txtPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
El comando toma la entrada del archivo «text.txt«. Previo a cargar el archivo de entrada, tenés que escribir un argumento de línea de comando entre el par de comillas simples. De esta manera «le dice» a la línea de comando que ejecute SED.
SED lee el archivo de entrada «text.txt» y almacena los datos en un búfer de patrones. Posteriormente, la operación se llevará a cabo.
Por otro lado, podés escribir un argumento vacío para que no se haga ninguna operación. SED muestra los datos almacenados como salida estándar y vacía su búfer de patrones.
[user]: ~$ sed ‘’Programs must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer ProgramsPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
El comando ‘’ de SED toma entradas del teclado. Se muestran en la primera y segunda línea. Muestra los datos almacenados en el búfer de patrones. Para cerrar la sesión SED, tenés que usar la entrada de teclado CTRL+D.

Comandos básicos de SED

Cómo aprender los usos básicos del comando SED de Linux:

Comando eliminar

Para ejecutar el comando eliminar, utilizá d junto con un archivo entre comillas. El comando eliminará la primera línea en el archivo text.txt:
[user]: ~$ sed ‘1d’ text.txt

Comando de escritura

Para ejecutar el comando de escritura, escribí w, el número de línea y el archivo, entre comillas. El siguiente comando lee la segunda línea y la escribe en el archivo text2.txt: [user]: $ sed '22 w text2.txt' text.txt [user]: ~$ cat text2.txt Harold Abelson, Structure and Interpretation of Computer Programs

Sumar una palabra a un archivo

Utilizar la palabra clave y un número de línea entre comillas. Luego de cerrar las comillas, suministra la fuente adjunta. El siguiente comando muestra la segunda línea del archivo text.txt.
[user]: ~$ sed '2 a The Append example' text.txt[user]: ~$ cat text.txtPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer ProgramsThe Append example'

Comando de lectura

Utilizá r y escribí la ubicación del archivo entre comillas. El siguiente comando leerá la entrada de un archivo de texto y la sumará después de la tercera línea en el archivo text2.txt.
[user]: ~$ sed '3 r text.txt' text2.txt [user]: ~$ cat text2.txt
Programs must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs The Append example' Programs must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs