você está aqui: Home  → Arquivo de Mensagens

Busca com grep em documentos editados com vim

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 25 de agosto de 2010

É fato bastante conhecido que eu consigo ler para dentro de um documento editado com vim informações obtidas a partir de comandos do Linux.

Por exemplo:

  :r!lynx -dump http://www.dicas-l.com.br/arquivo/palavras_mais_comuns_em_ingles.php

O comando acima colocará, dentro do arquivo que estou editando, o resultado do comando lynx -dump http://www.dicas-l.com.br/arquivo/palavras_mais_comuns_em_ingles.php. Da mesma forma, eu posso fazer qualquer tipo de processamento que eu quiser. Basta conhecer os comandos existentes no sistema e como usá-los apropriadamente.

Algo que faço com muita frequência é extrair de uma página html a url de arquivos que desejo baixar. O procedimento que eu usava era meio complicado e pouco inteligente.

Até que um dia, pensei em usar o grep para isto. Demorei anos para ter este insight, mas vamos lá.

Tomemos um arquivo que tenha milhares de endereços de email. Se eu quiser pegar apenas os endereços do domínio gmail.com, faço assim:

  :%!grep gmail.com

Pronto, do conteúdo integral do arquivo restarão apenas os endereços de email do domínio gmail.com. Posso então salvar o arquivo com um outro nome ou então salvar o arquivo original. Não se esqueça de dar um undo caso não deseje alterar o conteúdo do arquivo original. O caractere % indica que o processamento deve ser feito sobre todas as linhas. Eu posso substituir o caractere % por uma faixa de linhas ou por qualquer outra forma de endereçamento que o vim permita.

Existem diversas outras formas de se fazer isto. Esta maneira, com o grep invocado a partir do vim é apenas mais uma, e pode lhe economizar algum tempo na edição de arquivos.



Veja a relação completa dos artigos de Rubens Queiroz de Almeida