O comando Grep é usado para pesquisar texto de arquivos. É um padrão versátil que chama o grep com -r. -R Opção Pesquisar arquivos de pesquisa recursivamente dos subdiretos, a partir do diretório atual. O comando é executado a partir do diretório de nível superior. Por exemplo /home /abc etc. Grep é uma ferramenta para obter dependências enquanto se move de um host para outro. Se não mencionarmos um diretório no comando, Grep pesquisará o diretório de trabalho atual. Para executar o grep recursivamente, há três argumentos que tiramos da página do homem de Grep.
$ Man Grep
-incluir é usado para uma correspondência exata no arquivo que pode ser arquivos presentes no diretório ou por padrão. -r implica o nome do diretório, como descrito anteriormente, se nenhum caminho for definido no comando, o diretório atual é considerado. Segue apenas um link simbólico. -R é bem diferente de -r porque lê todos os arquivos, não apenas os simbolicamente definidos.
Sintaxe
Grep -r “padrão” /caminho /caminho /
"Path" é um "caminho do diretório". E o padrão é uma palavra ou uma string que você deseja pesquisar.
Pré -requisito
Para entender a função recursiva grep, você precisa ter um sistema operacional Linux. Após a instalação, você configurará o Linux, fornecendo um nome de usuário e senha. Depois de fazer isso, você obterá privilégios para acessar todas as aplicações nesse sistema operacional.
Todos os arquivos no Linux
Este comando ajudará você a pesquisar todos os nomes dos arquivos nos diretórios do seu sistema. Como -l trabalha para fornecer apenas os nomes de arquivos, -r ajudará a pesquisar simbolicamente onde quer que a palavra exigida esteja presente, será a saída. Enquanto "aqsa" é a palavra que queremos procurar. Este comando está sem caminho para o diretório porque aqui, queremos todos os nomes de arquivos possíveis no sistema. Se fornecemos um caminho, o processo de busca terá limitações.
$ grep -r -l “aqsa”
Exemplo simples
Para entender o dilema da recursividade com a ajuda do caminho, introduzimos um exemplo simples para orientar o usuário. Como mostrado no comando abaixo, "versátil" é uma palavra que queremos pesquisar. Seguindo a palavra, há um diretório no qual desejamos classificar. Ele mostra o nome do arquivo com o diretório e o texto inteiro dentro do arquivo. -r também mostra os arquivos binários.
$ grep -r versátil /home /aqsayasin
Pesquisar recursivamente em todos os diretórios e subdiretos
Como todos estamos familiarizados com a funcionalidade de "*" no sistema de busca. Isso implica classificar em todos os arquivos. Portanto, o comando exibirá os respectivos dados de todos os arquivos. A palavra "casa" deve ser pesquisada recursivamente usando a declaração Grep.
$ grep -r “house” *
Ele mostra os nomes de arquivos e o texto interior, destacando a palavra pesquisada, indicando que existe uma correspondência. Apenas um único arquivo de texto continha essa palavra, que é mostrada na linha resultante.
Grep recursivamente para uma corda
Ao contrário dos exemplos acima, Grep funciona em uma string no diretório específico. / etc/ é o diretório de comando que significa que a pesquisa será através deste diretório, o endereço IP de um computador. Suas informações são salvas no diretório, tendo nomes de arquivos presentes no diretório/etc/ppp/. A opção é o nome de uma pasta específica. Este comando lerá todos os arquivos no diretório especificado.
$ grep -r “192.168.1.5 ” /etc /
Os nomes do arquivo na saída podem ser suprimidos com a ajuda da opção-h. O comando é o seguinte.
$ grep -h -r "192.168.1.5 " /etc /
Ambos os separadores podem ser escritos como -h -r em um comando.
Pesquise recursivamente sem um diretório
A pesquisa recursiva também pode ser feita sem usar um diretório simplesmente pesquisando uma palavra com uma única palavra.
$ grep -r esposa
A palavra "esposa" é pesquisada em todos os diretórios automaticamente porque, quando não há diretório mencionado, o processo de pesquisa prosseguirá em todos os arquivos e diretórios do sistema. Também incluirá arquivos binários junto com os arquivos de texto. O endereço do arquivo e os nomes dos arquivos são mostrados no primeiro. Enquanto o texto dentro do arquivo é exibido. Não apenas o texto simples, mas também o comando grep aplicado no texto do arquivo, é mostrado, i.e., grep 'eu sou uma esposa de casa'.
Grep exato múltiplos padrões
A pesquisa de vários métodos também é um recurso obtido através do comando Grep. "-Rw" é usado para explorar a correspondência específica. "-E" é usado para adicionar mais de um padrão no comando. O caminho do diretório é mencionado para torná -lo conveniente para o sistema pesquisar. Arquivos binários são excluídos porque o limite é introduzido na adição de um diretório no comando. A saída contém o nome do diretório de arquivos e o nome do arquivo. Além disso, o texto dentro do arquivo é exibido.
$ grep -rw '/home/aqsayasin/'
As palavras pesquisadas são destacadas no texto do arquivo. Ambos os termos pesquisados precisam estar presentes em um único arquivo. Existe uma probabilidade da existência de palavras em diferentes arquivos, como mostrado na saída.
Grep recursivamente usando - -include
"-Include" corresponde ao padrão de arquivo fornecido e funciona efetivamente, pois também acelera o processo de pesquisa, que funciona a maioria dos arquivos. Aqui, ele não traz binários ou compilados, ou arquivos de imagem nele. A extensão do arquivo é usada para adicionar limitações ao comando. O diretório é mencionado para trazer a saída necessária. A palavra -chave incluída é bastante avançada no grep em comparação com outras funcionalidades.
$ grep -r --include = "*txt" "irmã" /home /aqsayasin
Conclusão
Neste artigo, explicamos cada exemplo para demonstrar o uso da função recursiva grep. Uma função recursiva é usada para pesquisar com limitações e precisamente em todos os diretórios no sistema. Se um diretório não estiver presente, o diretório atual será considerado por padrão.