Sed

 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

  • 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

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

  • sed-HOWTO
  • E-book Dominando o SED


  • v
  • d
  • e
Arquivos
  • cat
  • cd
    • popd
    • pushd
  • chattr
  • chmod
  • chown
  • chflags
  • chgrp
  • cksum
  • cp
  • cmp
  • curl
  • dd
  • du
  • df
  • file
  • fsck
  • less
  • ln
  • ls
  • lsof
  • mkdir
  • more
  • mv
  • pax
  • pwd
  • rm
  • rmdir
  • split
  • size
  • tee
  • touch
  • tree
  • type
  • umask
Processos e tarefas
  • anacron
  • at
  • bg
  • chroot
  • crontab
  • jobs
  • kill
  • killall
  • nice
  • fg
  • pgrep
  • pidof
  • pkill
  • ps
  • pstree
  • time
  • top
  • wait
Ambiente e usuários
  • clear
  • env
  • exit
  • finger
  • history
  • id
  • locale
  • logname
  • mesg
  • passwd
  • su
  • sudo
  • talk
  • tput
  • ulimit
  • uname
  • umask
  • uptime
  • w
  • wall
  • who
  • whoami
  • write
Processamento de texto
  • awk
  • banner
  • basename
  • comm
  • csplit
  • cut
  • diff
  • dirname
  • disown
  • ed
  • ex
  • fmt
  • fold
  • head
  • iconv
  • join
  • less
  • more
  • nl
  • paste
  • sed
  • sort
  • spell
  • strings
  • tail
  • tr
  • uniq
  • vi
  • wc
  • xargs
Shell
  • alias
  • bind
  • break
  • compgen
  • complete
  • continue
  • echo
  • expr
  • history
  • printf
  • read
  • sh
  • shopt
  • source
  • test
  • true
  • false
  • unset
  • wait
  • yes
Redes e comunicação
  • dig
  • ifconfig
  • inetd
  • netstat
  • nslookup
  • ping
  • rlogin
  • route
  • ssh
  • traceroute
Busca
  • find
  • grep
  • strings
  • locate
  • whatis
  • whereis
Documentação
  • apropos
  • help
  • man
Miscelâneas
  • bc
  • dc
  • cal
  • date
  • lp
  • lpr
  • od
Comandos geralmente implementados no interpretador.
Comando geralmente implementados, tanto como executáveis, como quanto no interpretador.
Ícone de esboço Este artigo sobre computação é um esboço. Você pode ajudar a Wikipédia expandindo-o.
  • v
  • d
  • e