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ón | Significado |
|---|---|
| s/a/b/g | Replace a with b; without the trailing g only the first per line |
| -i | Edit in place. GNU takes -i alone, BSD and macOS need -i "" |
| -E | Extended regex; BSD also accepts -r for GNU compatibility |
| -n | Print nothing unless a command says to, usually with p |
| -e | Add another expression to the script |
| -f | Read the script from a file |
Ejemplos
sed -i 's/foo/bar/g' file.txtReplaces every foo in place (GNU).
sed -i '' 's/foo/bar/g' file.txtThe same on macOS, with the empty argument.
sed -n '10,20p' file.txtPrints 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