Inicio·Comandos de terminal
Publicidad

Consigue tu bono en un exchange de criptomonedas

Bonos que recibes solo por registrarte. Las condiciones son las que publica cada exchange.

sed

Procesado de texto

Uso

sed -i 's/[old]/[new]/g' [file]

Edita texto línea a línea, casi siempre con s/old/new/; el -i en el sitio difiere entre GNU y BSD, y sin la g final solo cambia la primera coincidencia de cada línea.

Opciones habituales

OpciónSignificado
s/a/b/gReplace a with b; without the trailing g only the first per line
-iEdit in place. GNU takes -i alone, BSD and macOS need -i ""
-EExtended regex; BSD also accepts -r for GNU compatibility
-nPrint nothing unless a command says to, usually with p
-eAdd another expression to the script
-fRead the script from a file

Ejemplos

sed -i 's/foo/bar/g' file.txt

Replaces every foo in place (GNU).

sed -i '' 's/foo/bar/g' file.txt

The same on macOS, with the empty argument.

sed -n '10,20p' file.txt

Prints only lines 10 to 20.

Están hechos para encadenarse con tuberías. Tres comandos unidos suelen ser más cortos que uno que lo haga todo.

Cómo leerlo

  • Los corchetes [ ] marcan una parte que puedes omitir.
  • Los puntos suspensivos … indican que puedes poner varios.
  • Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.

Preguntas

Q¿Qué hace sed?

Edita texto línea a línea, casi siempre con s/old/new/; el -i en el sitio difiere entre GNU y BSD, y sin la g final solo cambia la primera coincidencia de cada línea.

Q¿Cómo se escribe?

sed -i 's/[old]/[new]/g' [file] — los corchetes marcan lo que puedes omitir.

Q¿Cuántas opciones vale la pena saber?

Aquí van 6; la lista completa está en man sed. Este comando está en Procesado de texto.

Comandos relacionados

página man: man sed