Usando o editor de fluxo SED.

O sed é um editor de fluxo muito poderoso, com ele você pode fazer operações de procura, substituição, inserção e apagamento em arquivos de texto, sendo muito usado por programadores shell script. A sintaxe dele é:

[<endereço1>,[<endereço2>]} <função> [argumento]

Quer ver um exemplo? Que tal substituirmos a palava EMO por VIADO em um arquivo de texto? É muito simples…

sed ‘s/emo/viado/g’ ~/arquivo.txt

O comando acima substituiu a palavra emo pela palavra viado no arquivo “arquivo.txt” localizada em seu diretório /home.

Agora… se eu quizer substituir a palavra RUIM por BOA, apenas nas linhas de 1 até a linha 7? Também é muito fácil, basta usar o seguinte comando:

sed ‘1,7s/ruim/boa/g’ arquivo1.txt

Pronto, substituimos a palavra RUIM pela palavra BOA apenas nas linhas 1 à 7 no arquivo “arquivo1.txt”
OBS: Se a opção “g” for usada ele irá substituir todas as ocorrências na mesma linha, isso ocorre pois o padrão do sed é substituir apenas a primeira ocorrência encontrada em cada linha, por exemplo, na frase: “Aquela cerveja é RUIM, mas a outra não é RUIM.”, se não usarmos a opção “g” apenas a primeira palavra “RUIM” será substituida.

Agora… se você quer apagar algumas linhas em um arquivo, mas acha ruim ficar apertando o backspace a vida toda, o sed também faz esse trabalho pra você. Não acredita? então que tal apagar as linhas de 1 à 10 de um arquivo com um único comando?

sed ‘1,10s’ arquivo1.txt

Pronto, você apagou as linhas de 1 à 10 no arquivo1.txt, simples assim com um único comando ^^

Agora… você quer apagar todas as linhas de um arquivo de 300 linhas por exemplo, mas quer manter apenas as linhas 2 à 20, como apagar todo o resto sem ter uma tremenda trabalheira? Com o sed isso também é algo muito fácil, vejá só…

sed ‘2,20!d’ arquivo1.txt

Bom… vamos ver mais um exemplo… que tal apagar todas as palavras “PALAVRÃO” que tem em um texto? Fazer isso em um arquivo com 5 linhas é facil, mas e quando são várias linhas?

sed ‘/palavrão/d’ arquivo1.txt

Que tal inserir texto em um arquivo antes de determinada linha? Também é algo muito simples, vamos entender isso agora.

sed ’10a\
> texto a ser inserido \
> texto a ser inserido’ arquivo1.txt

O comando acima irá inserir o texto desejado depois da linha de número 10 do arquivo, e agora se eu quiser inserir texto antes da linha 10? Basta trocar a opção “a” pela opção “i”. Viu como é simples?

Bom, este artigo termina por aqui. Abordei as principais funções do sed, e espero que tenha ficado algo claro para os leitores. O sed é seu amigo, basta saber usá-lo corretamente😉

~ por maruseruro em setembro 25, 2007.

Uma resposta to “Usando o editor de fluxo SED.”


  1.       

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: