sed

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.
     

Retro

Lugares

Redes

Sistemas

Varios