[SED] Introdução ao sed

Introdução ao sed

Afinal o que é sed e para que ele serve? O sed é uma ferramenta muito interessante, considero junto com cut e tr as ferramentas mais sensacionais dos sistemas unix-like, ele nos permite substituir, remove, modificar, adicionar strings ou caracteres em determinadas posições. Complicou? Vamos simplificar então!

Imagine que você tem um texto enorme de 15 mil linhas e você precisa trocar todas as ocorrências da palavra chuchu por abacate! O que fazer? Vai tentar trocar termo por termo na mão? Obvio que você não é masoquista para tentar algo como isso.

O exemplo acima pode ser solucionado de uma forma muito simples, assumindo que o arquivo de 15 mil linhas se chama arquivo-sacana.txt vamos executar:

$ cat arquivo-sacana.txt| sed 's/chuchu/abacate/'

Explicando o comando assim:

$ → cifrão indica que você está logado com um usuário não root

cat → comando que exibi um arquivo-sacana

arquivo-sacana.txt → o arquivo que tem 15 mil linhas

| → joga o resultado do comando antes da | para o próximo comando, no caso o sed

sed – > o comando sed, dã

s/chuchu/abacate/ → aqui está a mágica!

Para realizamos trocas simples com sed, basta s/troca-isso/por-este/.

Pronto viram como foi simples? Nem tanto o comando acima faz algo que talvez não é o desejável, o que nos queremos e mudar TODAS as ocorrências da palavra chuchu por abacate então precisamos adicionar o parâmetro ‘g’ no final do sed ficando assim:

$ cat arquivo-sacana.txt| sed 's/chuchu/abacate/g'

Pronto agora toda vez que aparecer a palavra chuchu o sed irá mudar para abacate. Quando não executa com o parâmetro ‘g’ o sed vai apenas aplicar a mudança a primeira vez que a palavra chuchu aparecer na linha ou seja apenas na primeira ocorrências por linha.

Isso é apenas uma introdução ao uso do sed, afinal de contas é o começo da sessão sobre sed. Esse carinha é tão especial que vai ganhar até uma sessão só para ele.

[]‘s

Textos Relacionados:

Deixe um Comentário

3 Comentários.

  1. Não dá de trocar por manga? Não gosto de abacate :D

    Acho que o sed também suporta case insensitive, apenas colocando o modificador “I”…
    $ cat arquivo-sacana.txt| sed -e ‘s/chuchu/abacate/gI’

    []‘s

  2. [SED] Introdução ao SED - parte 2 | 0fx66 - pingback on 22 de Dezembro de 2011 em 22:23

Deixe um Comentário

Trackbacks e Pingbacks:

SEO Powered by Platinum SEO from Techblissonline