sed
Processamento de texto
Uso
sed -i 's/[old]/[new]/g' [file]Edita texto linha a linha, quase sempre com s/old/new/; o -i no lugar difere entre GNU e BSD, e sem o g final só a primeira ocorrência de cada linha muda.
Opções comuns
| Opção | 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 |
Exemplos
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.
Foram feitos para serem encadeados com pipes. Três comandos ligados costumam ser mais curtos que um que faça tudo.
Como ler
- Os colchetes [ ] marcam uma parte que você pode omitir.
- As reticências … indicam que você pode listar vários.
- As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.
Perguntas
Q. O que sed faz?
Edita texto linha a linha, quase sempre com s/old/new/; o -i no lugar difere entre GNU e BSD, e sem o g final só a primeira ocorrência de cada linha muda.
Q. Como se digita?
sed -i 's/[old]/[new]/g' [file] — os colchetes marcam o que você pode omitir.
Q. Quantas opções vale a pena saber?
Aqui estão 6; a lista completa está em man sed. Este comando fica em Processamento de texto.
Comandos relacionados
página man: man sed