Editor de secuencias - sed (Linux LPI 101)

En este punto el editor de flujo hace su aparición! Es un antiguo tipo de herramienta y originalmente el único disponible bajo UNIX para manipular texto.
La utilidad sed se usa con mayor frecuencia para buscar y reemplazar patrones en texto. Soporta la mayoría de las expresiones regulares.

Inicio sed
Sintaxis para sed
  • sed [opciones] 'comando' [INPUTFILE]
El archivo de entrada es opcional ya que sed también funciona en redirecciones de archivos y tuberías.
Aquí hay algunos ejemplos suponiendo que estamos trabajando en un archivo llamado MODIF.

Eliminar todas las líneas comentadas:
 
Observe que el patrón de búsqueda está entre las barras dobles //.

Sustituya /dev/hda1 por /dev/sdb3:

El s en el comando significa 'sustituto'. El g significa "globalmente" y obliga a la sustitución a tener lugar a lo largo de cada línea.

Si la línea contiene la palabra clave KEY entonces sustituye ':' con ';' globalmente:

Más avanzado sed
Puede emitir varios comandos cada uno comenzando con -e en la línea de comandos. Por ejemplo, (1) eliminar todos los espacios en blanco entonces
(2) sustituir 'OLD' por 'NUEVO' en el archivo MODIF

Estos comandos también se pueden escribir en un archivo, digamos COMMANDS. Entonces cada línea se interpreta como un nuevo comando para ejecutar (no se necesitan comillas).
Ejemplo de comandos
1 s/old/new/
/keyword/ s/old/new/g
23,25 d

La sintaxis para usar este archivo COMMANDS es:
  • sed -f COMANDOS MODIF
¡Esto es mucho más compacto que una línea de comandos muy larga!

Resumen de opciones para sed
Lineas de comandos flag
-e Execute the following command
-f Read commands from a file
-n Do not printout unedited lines

Comandos sed
d Delete an entire line
r Read a file and append to output
s Substitute
w Write output to a file

Publicar un comentario

0 Comentarios