Início·Comandos de terminal
Publicidade

Garanta seu bônus em uma corretora de cripto

Bônus que você recebe só por se cadastrar. As condições são as que cada corretora anuncia.

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çãoSignificado
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

Exemplos

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.

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

QO 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.

QComo se digita?

sed -i 's/[old]/[new]/g' [file] — os colchetes marcam o que você pode omitir.

QQuantas 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