O comando Grep é usado para pesquisar texto em arquivos. É um padrão versátil que invoca grep com -r. -A opção R procura arquivos recursivamente a partir de subdiretórios, começando no 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 muda de um host para outro. Se não mencionarmos um diretório no comando, o grep irá pesquisar no diretório de trabalho atual. Para executar o grep recursivamente, existem três argumentos que retiramos da página de manual do grep.
$ Man grep
-incluir é usado para uma correspondência exata no arquivo, que pode ser arquivos que estão presentes no diretório ou, por padrão. -r implica o nome do diretório, conforme 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 definidos simbolicamente.
Sintaxe
Grep -R “padrão” / caminho /“Caminho” é um “caminho de diretório”. E o padrão é uma palavra ou string que você deseja pesquisar.
Pré-requisito
Para entender a função grep recursiva, você precisa ter o sistema operacional Linux. Após a instalação, você configurará o Linux, fornecendo um nome de usuário e uma senha. Depois de fazer isso, você obterá privilégios para acessar todos os aplicativos nesse sistema operacional.
Todos os arquivos em Linux
Este comando irá ajudá-lo a pesquisar todos os nomes de arquivos nos diretórios do seu sistema. Como -l fornece apenas os nomes dos arquivos, -r ajudará a pesquisar simbolicamente onde quer que a palavra necessária esteja presente, virá como saída. Considerando que “Aqsa” é a palavra que queremos pesquisar. Este comando não tem nenhum caminho para o diretório porque aqui, queremos todos os nomes de arquivo possíveis no sistema. Se fornecemos um caminho, o processo de pesquisa terá limitações.
$ grep -r -l “aqsa”
Exemplo Simples
Para entender o dilema da recursividade com a ajuda do caminho, apresentamos um exemplo simples para orientar o usuário. Conforme mostrado no comando abaixo, “versátil” é uma palavra que queremos pesquisar. Seguindo a palavra, há um diretório no qual desejamos classificar. Mostra o nome do arquivo com o diretório e todo o texto dentro do arquivo. -r também mostra os arquivos binários.
$ grep -r versatile / home / aqsayasin
Pesquisar recursivamente em todos os diretórios e subdiretórios
Como estamos todos familiarizados com a funcionalidade de “*” no sistema de pesquisa. Implica ordenar em todos os arquivos. Assim, o comando exibirá os respectivos dados de todos os arquivos. A palavra "casa" deve ser pesquisada recursivamente usando a instrução grep.
$ grep -r “casa” *
Mostra os nomes dos arquivos e o texto interno 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 string
Ao contrário dos exemplos acima, grep funciona em uma string no diretório específico. / etc / é o diretório de comando, o que significa que a busca será através deste diretório, o endereço IP de um computador. Suas informações são salvas no diretório, tendo os nomes dos arquivos presentes no diretório / etc / ppp /. A opção é o nome de uma pasta particular. Este comando irá ler todos os arquivos em um determinado diretório.
$ grep -r “192.168.1.5 ”/ etc /
Os nomes dos arquivos 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.
Pesquisar 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 esposaA palavra “esposa” é pesquisada em todos os diretórios de forma automática, pois quando não houver nenhum diretório mencionado, o processo de pesquisa continuará em todos os arquivos e diretórios do sistema. Também incluirá arquivos binários junto com os arquivos de texto. O endereço e os nomes dos arquivos são mostrados primeiro. Enquanto o texto dentro do arquivo é exibido. Não apenas o texto simples, mas também o comando grep aplicado ao texto do arquivo é mostrado, i.e., grep 'eu sou dona de casa'.
Grep Exact Multiple Patterns
A pesquisa de vários métodos também é um recurso obtido através do comando grep. “-Rw” é usado para explorar a correspondência particular. “-E” é usado para adicionar mais de um padrão no comando. O caminho do diretório é mencionado para tornar conveniente para o sistema pesquisar. Os 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 do arquivo 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 a probabilidade da existência de palavras em arquivos diferentes, conforme mostrado na saída.
Grep recursivamente usando - -Incluir
“-Include” corresponde ao padrão de arquivo fornecido e funciona de forma eficaz, pois também acelera o processo de pesquisa, que funciona com a maioria dos arquivos. Aqui, ele não traz arquivos 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” “sister” / home / aqsayasinConclusão
Neste artigo, explicamos cada exemplo para demonstrar o uso da função grep recursiva. Uma função recursiva é usada para pesquisar com limitações e precisamente em todos os diretórios do sistema. Se um diretório não estiver presente, o diretório atual é considerado por padrão.