De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 26 de Junho de 1998
Muitas vezes necessitamos achar um arquivo que contenha uma determinada string e não sabemos exatamente por onde começar. Este problema pode ser resolvido de maneira simples pelo comando rgrep (Recursive Grep) que na verdade nada mais é do que um shell script combinando os comandos find e grep.
Ao comando grep é fornecido como argumento uma lista de arquivos gerada a partir do diretório corrente. Fornece-se uma lista porque o comando grep quando atua a partir de um arquivo apenas, não precede os resultados com o nome do arquivo, ou seja, o resultado gerado não serve para nada.
O script é bastante simples, e é claro que pode ser melhorado. Eu não inclui por exemplo, a opção de se especificar o diretório, porque em 99.99% das vezes nós (ao menos eu) usamos o comando find a partir do diretório corrente. Também não inclui a possibilidade de fornecimento de flag ao comando grep. Tudo isto entretanto é fácil de se implementar. Apenas não achei necessário. A beleza do script é justamente esta; é simples e funciona :)
#! /bin/sh # # RGREP # Autor: Queiroz # Data : 26/11/98 # # Este shell script realiza um grep recursivo, a partir do diretório # corrente, sobre a string fornecida como argumento. # string=$1 if [ $# -lt 1 ]; then echo 1>&2 Sintaxe: $0 string_a_pesquisar exit 1 else find . -type f -print > /tmp/rgreplist.$$ # Criacao da lista de arquivos grep $string ""cat /tmp/rgreplist.$$"" >> /tmp/rgrep.$$ fi # Visualização do arquivo com os resultados view /tmp/rgrep.$$ # Remocao dos arquivos de trabalho rm /tmp/*.$$
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários