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:41] – [ejemplos] 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 20: | Línia 43: | ||
| realiza una sustitución solo si la línea contiene un valor determinado, | 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 en concreto (la 3) | ||
| + | <code bash>sed " | ||
| + | sed -i " | ||
| + | |||
| + | más eliminaciones aplicadas en un cierto rango | ||
| + | <code bash>sed -i " | ||
| + | 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 " | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | 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 | ||