Buscar y Reemplazar
Para poder usar el OR (|) en una búsqueda:
# busca perro o gato
sed s'\(perro\|gato\)/g'
# busca perro o gato y los reemplaza por pajaro
sed s'\(perro\|gato\)/pajaro/g'
Ejemplos útiles en una sola línea
- sed ':a;N;$!ba;s/
/, /g' -i fichero
Cambia newline por ", " dejanto todo en una SOLA línea.
- sed '/./,$!d' -i fichero
Elimina todas la lineas vacias del principio.
- sed s'/\s\{2,\}/ /g' -i fichero
Quitar más de 2 espacios juntos y deja uno solo.
- sed 's/<Ctrl-V><Ctrl-M>//g' -i fichero
Quitar el ^M del final de linea.
- sed -i -e '$a TEXTO-A-AÑADIR' *.txt
Añadir texto al final de uno o más ficheros.
- sed -i '1s/^/TEXTO-A-AÑADIR
/' *.txt
Añadir texto al principio de uno o más ficheros.
- echo "123456789" | sed -r ':L;s=([0-9]+)([0-9]{3})=\1\.\2=g;t L'
Añade los puntos de miles a un número.
- sed -e '1!G;h;$!d' fichero
Muestra el contenido fichero en orden inverso (cat inverso), la última línea la primera y la primera la última.
- cat fichero | sed -n '/cadena/!q; p'
Muestra las primeras líneas que contengan la cadena "cadena", es como un HEAD pero con un patrón.
- cat fichero | sed -ne 's/.*\(que_extraer\).*/\1/p'
extraer un trozo de texto
- -n: suprime la salida por defecto
- \(que_extraer\) = lo que queremos extraer, puede ser cualquier expresión regular. Lo que va entre \( y \) será sustituido por \1
- p
- ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
Muestra el directorio actual en formato de árbol (al estilo del comando tree).
- echo "782b.cb07.6f1d" | sed -e 's/\.//g' | sed -e "s/\(..\)/\1:/g" | sed -e "s/:$//"
Cambio el formato de una MAC de Cisco a estándar.
- echo "78:2b:cb:07:6f:1d" | sed -e 's/\(..\):\(..\)/\1\2/g'
Cambio el formato de una MAC de estándar a Cisco.