De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


SED - Mais alguns comandos úteis

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 29 de Abril de 1999

O Arnaldo Mandel, da USP, me enviou ontem um lembrete muito importante:


Nunca redirecione a saída para o próprio arquivo. Por exemplo,

  sed 1d teste > teste

apagaria o conteúdo do arquivo teste.

Para usar o sed na edição de um arquivo, é preciso gravar um temporário e depois jogar em cima do original:

  sed 1d teste > teste.out  && mv teste.out teste

Eu também cometi um erro chamando o SED de "String Editor". O nome correto é "Stream Editor".

Gostaria de agradecer ao Arnaldo por suas correções e sugestões.

A mensagem de hoje também aborda o SED:


Tomando ainda como exemplo o arquivo da mensagem de ontem, se quisermos inserir um espaço em branco nas linhas 3 e 4 basta executar o comando:

  sed "3,4s/^/ /" teste

e obtemos o resultado

  1
  2
   3
   4 
  5

Se quisermos substituir os caracteres nas linhas 1 e 2 pela letra x:

  sed "1,2s/^./x/" teste

temos então

  x
  x
  3
  4
  5

Podemos também inserir um caracter nesta mesma posição:

  sed "1,2s/^/x/" teste
  x1
  x2
  3
  4
  5

Para inserir na última posição de cada linha o caracter

  sed "s/$/%/" teste
  1%
  2%
  3%
  4%
  5%

Não esquecer nunca que para salvar o resultado do trabalho devemos fazer o redirecionamento para um arquivo.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Rubens Queiroz de Almeida