Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
linux:bash:sed [12/01/2018 01:37] – [parámetros] mate | linux:bash:sed [10/04/2019 00:30] (actual) – [ejemplos avanzados] mate | ||
---|---|---|---|
Línia 1: | Línia 1: | ||
= sed | = sed | ||
Stream EDitor | Stream EDitor | ||
+ | |||
+ | == sintaxis | ||
+ | <code bash> | ||
+ | sed [-ns] ' | ||
+ | </ | ||
+ | donde: | ||
+ | * '' | ||
+ | * '' | ||
+ | * 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): | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | <code bash> | ||
+ | sed ' | ||
+ | </ | ||
== parámetros | == parámetros | ||
Línia 18: | Línia 41: | ||
< | < | ||
- | si el texto a buscar/sustituir está en un fichero, | + | realiza una sustitución solo si la línea contiene un valor determinado, |
+ | < | ||
+ | |||
+ | listar archivos/ | ||
+ | <code bash>ls -l | awk '{ print $NF }' | sed 1d</ | ||
+ | |||
+ | cambio temporal de prompt (PS1): | ||
+ | <code bash> | ||
+ | |||
+ | eliminar línea | ||
+ | <code bash>sed " | ||
+ | sed -i " | ||
+ | |||
+ | más eliminaciones aplicadas en un cierto rango | ||
+ | <code bash>sed -i "3,5d" | ||
+ | sed -i " | ||
+ | |||
+ | ejemplo docker | ||
+ | <code bash>sed -i / | ||
+ | -e ' | ||
+ | -e ' | ||
+ | -e ' | ||
+ | </ | ||
+ | |||
+ | == ejemplos avanzados | ||
+ | añadir texto a una línea, respetando el contenido existente (y haciendo match). Uso de subexpresión (backreference) | ||
+ | <code bash>sed -i "1, | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | insertar línea antes de match, backup del fichero modificado | ||
+ | <code bash> | ||
+ | sed -i.bak '/< | ||
+ | </ | ||
+ | |||
+ | === búsquedas | ||
+ | buscar frases de un texto que tengas 6 palabras (y acaben en algo que no sea una letra): | ||
+ | <code bash> | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | buscar palíndromos de 7 letras((palabra capicúa))< | ||
+ | * cada grupo de paréntesis hace que ese caracter se guarde para " | ||
+ | * y se recogen esos valores con \3 \2 \1 respectivamente |