Fique por dentro das novidades do seu tema preferido

Aprenda a criar sites incríveis com facilidade

Use o poder da internet para divulgar o seu negócio

Inspire-se com as estratégias de grandes empresas

Conteúdos variados para alavancar os resultados do seu projeto

A confirmação da sua inscrição foi enviada para o seu e-mail

Agradecemos sua inscrição e esperamos que você aproveite nossos conteúdos!

Conheça nesse artigo o comando sed do Linux, um grande editor de textos com um enorme potencial de aplicações!

O sed é um dos comando mais utilizados do Linux, sua versatilidade e aplicações são constantes para diversas situações. Nesse artigo você aprenderá um pouco mais sobre o sed quais suas principais utilizações. Vamos lá?

O que é o sed?

O sed ou Stream Editor é um editor de fluxos e filtragem, uma ferramenta poderosa na hora de automatizar funções e de manipulação de texto.

Utilizando o sed é possível fazer edições em cada linha de um arquivo e ver a saída padrão no terminal, além disso, o sed possui opções de redirecionamento permitindo salvar edições e muitas outras opções.

Apesar de complexo no início, dominar essa ferramenta é um passo muito importante para quem deseja se tornar um administrador Linux, então confira a seguir as aplicações do sed.

Como usar o sed

Existem diversas parametrizações e regras para se utilizar o sed e por ser um comando complexo. A princípio sua sintaxe utiliza o seguinte formato:

sed [OPÇÕES]... [ARQUIVO]...

Para esclarecer melhor as funções do sed, amos abordar as principais características dele, na prática. Confira as principais formas de utilização deste comando:

Substituir um conteúdo de um texto

Com o sed é possível realizar substituições de determinado texto, veja o exemplo a seguir:

comando sed Linux

No exemplo acima, o arquivo exemplo.txt possui como conteúdo o texto “Eu adoro o Snappy da HostGator”. Ao rodar o comando cat nesse arquivo, o conteúdo aparece na tela do terminal normalmente e o sed permite criar edições nessa saída de texto utilizando o redirecionador pipe ( | ). Foi utilizado a seguinte expressão:

sed 's/adoro/amo/'

Existem diversos conceitos por trás desse filtro do sed, vamos conferir mais de perto:

  • '' = a utilização das aspas simples nesse caso, surge para que o sed interprete o filtro como literal, sem substituir nem um termo por uma variável. Se fosse necessário que ele interpretasse variáveis, nesse caso o correto seria utilizar aspas duplas.
  • s = a subflag s, indicar ao sed que o comando a seguir trata-se de uma substituição, ou seja, vai substituir um certo padrão de texto, por outro.
  • /{termo}/{termo}/ = o sed utiliza a / como separador dos conteúdos a serem filtrados, podendo se utilizar também outros caracteres, como pipe (|{termo}|{termo}|) ou ponto (.{termo}.{termo}.). Esses caracteres tem a função de delimitar o sed e identificar os termos a serem substituídos. No exemplo utilizado, a substituição no texto foi a palavra adoro por amo.

Além disso, o sed também compreende expressões regulares, permitindo criar um filtro ainda mais complexo para substituições:

comando sed Linux substituição com regex

Agora no arquivo exemplo.txt, tem um vírgula no fim do arquivo que pode ser indesejada, com o sed é possível removê-la utilizando uma expressão regular:

sed 's/,$//'

  • /,$//= nesse caso, o termo ,$ representa qualquer vírgula no texto que esteja no final da linha, função realizada pela expressão regular dólar e a substituição é por nada, então, é entendido como a remoção daquele primeiro termo somente.

Note que se não fosse utilizado a expressão regular, somente a vírgula no meio do texto também seria removida:

sed sem global

O sed aplica o filtro configurado apenas no primeiro termo de cada linha. Caso houvessem mais casos na mesma linha serem substituídos, seria necessário a utilização da subflag g (global) logo antes do fechamento das aspas simples:

sed global

Substituir o conteúdo de um arquivo pela saída do sed

O sed além de ser utilizado com o pipe, pode ser utilizado direto com um arquivo, porém, ao aplicar o comando sed no arquivo, o arquivo não chega a ser editado:

sed substituindo o arquivo

Nesse caso, o arquivo exemplo.txt teve o termo Linux substituído por Ubuntu, mas ao fazer o cat no arquivo, a estrutura continua a mesma.

Para que o sed substitua o conteúdo do arquivo, é necessário a utilização da flag -i:

sed salvando o arquivo

Considerações Finais

Nesse artigo você aprendeu sobre o comando sed do Linux e suas principais aplicações.

Se você sentiu alguma dificuldade ou então tem alguma sugestão de algo que não foi mencionado, basta deixar aí nos comentários que no futuro podemos estar trazendo atualizações para este artigo. Também indico esses outros materiais relacionados com este assunto:

Até a próxima! :^)

Navegue por tópicos

  • O que é o sed?

  • Como usar o sed

    • Substituir um conteúdo de um texto

    • Substituir o conteúdo de um arquivo pela saída do sed

  • Considerações Finais

Tags:

  • Hospedagem de Sites

Julio Pires

Analista de Conteúdo Técnico na empresa HostGator e estudante de Física na UFSC. Gosta de maratonar séries, jogar jogos clássicos, nunca nega uma partida de xadrez e busca estar sempre atualizado com o mundo da tecnologia.

Mais artigos do autor

Garanta sua presença online

Encontre o nome perfeito para seu site

www.