sed

programa de computador padrão UNIX para editar fluxos de dados
 Nota: Se procura por outras acepções, veja SED.

sed (abreviação de stream editor: 'editor de fluxo') é um utilitário Unix que analisa e transforma textos, usando uma linguagem de programação simples e compacta. Tal como o awk, é um programa que permite aplicar diferentes transformações predefinidas a um fluxo sequencial de dados textuais, sendo muito utilizado nos sistemas tipo Unix.

O sed, desenvolvido entre 1973 e 1974 por Lee E. McMahon, do Bell Labs,[1][2] foi baseado nos recursos de scripting do editor interativo ed (editor, de 1971) e do anterior qed (quick editor, de 1965-66). O sed foi uma das primeiras ferramentas a suportar expressões regulares e continua em uso para processamento de texto, principalmente com o comando de substituição. Entre as ferramentas alternativas populares para manipulação de strings de texto, em texto claro e edição de fluxo contínuo, estão AWK e Perl.

Ao contrário dos editores convencionais, o sed atua em linha de comandos ou em shell script. Pode, por exemplo, editar a terceira linha de vários arquivos com um só comando.

Geralmente, o sed recebe como entrada, por meio de uma canalização, os dados sobre os quais irá atuar. Aceita expressões regulares, o que lhe confere maior poder e o torna um excelente insrumento para administradores de sistemas.

Há uma versão do sed GNU/sed com alguns recursos extras.

Alguns exemplos editar

  • apagar a última linha de vários arquivos txt:
sed -i '$d' *.txt
  • Extrair a 4ª linha do ficheiro:
cat ficheiro.txt | sed '4q;d'
ou
sed '4q;d' ficheiro.txt
  • Substituições de texto (substituir as vírgulas [,] por hífens[-]):
cat ficheiro.txt | sed 's/,/-/g'
ou
sed 's/,/-/g' ficheiro.txt
  • Pegar somente o endereço de retorno
nslookup a.root-servers.net | tail -n 2 | head -n 1| sed s/Address:\ \//

Conceito sobre Editores de Streams editar

Imagine streams como um arquivo sendo lido linha a linha. Os editores de streams atuam em cada linha a procura de um padrão definido.

Referências

  1. «The sed FAQ, Section 2.1» e atualmente está disponível para a maioria dos sistemas operacionais
  2. «The sed FAQ, Section 2.2» 

Ligações externas editar


  Este artigo sobre computação é um esboço. Você pode ajudar a Wikipédia expandindo-o.