Aquesta és una revisió antiga del document
sed
Stream EDitor
sintaxis
sed [-ns] '[direccion] instruccion argumentos'
donde:
-n
: no mostrar por STDOUT las líneas procesadas-s
: tratar los ficheros entrantes como flujos separados- dirección: número de línea, rango de números de línea o búsqueda por regexp. Si no se especifica, afecta a todas las líneas del fichero
- instrucción (sobre la línea actual o procesada):
i
: insertar antesa
: insertar despuésc
: cambiard
: borrarp
: imprimir (STDOUT)s
: sustituir cadenar <fichero>
: añadir contenido de ficherow <fichero>
: escribir salida a fichero!
: negar la condiciónq
: finalizar procesamiento de fichero
parámetros
- -i : actualiza el fichero «sujeto»
s/cadena1/cadena2/g
: sustituye cadena1 por cadena2 en todo el documento (parámetro g - global)s+cadena1+cadena+g
: idem anterior (hemos cambiado el saparado de la REGEXP, por si nos interesa)s/abc/xyz/gI
: (parámetro I permite sustituir ignorando si van en mayúsculas o minúsculas)
ejemplos
reemplaza «abc» por «zyz» en el archivo1 generando el archivo2:
sed s/abc/xyz/g archivo1 > archivo2
actualiza el fichero, misma sustitución anterior
sed -i s/abc/xyz/g archivo1
idem anterior, pero con variables:
sed "s|$var1|$var2|" archivo1 > archivo2''
realiza una sustitución solo si la línea contiene un valor determinado, si la linea contiene requisito, cambia el texto1 por el texto2 :
sed -e "/requisito/s/texto1/texto2/g"