Encontre todos os arquivos contendo texto específico
- 1654
- 152
- Enrique Crist
Você provavelmente já sabe como usar o grep
comando para pesquisar uma string de texto em um arquivo no Linux. Mas e se você quiser recuperar uma lista de arquivos que contêm a string de texto? Esta é uma tarefa mais adequada para grep
ou o comando de localização. Vamos mostrar como fazer isso neste guia.
Neste tutorial, você aprenderá:
- Como usar
grep
eencontrar
comandos para encontrar todos os arquivos contendo texto específico
Categoria | Requisitos, convenções ou versão de software usada |
---|---|
Sistema | Qualquer distro Linux |
Programas | N / D |
Outro | Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando. |
Convenções | # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular |
Procure texto específico com o comando grep
Sem dúvida, grep
é o melhor comando para pesquisar um arquivo (ou arquivos) para um texto específico. Por padrão, ele retorna todas as linhas de um arquivo que contém uma certa string. Este comportamento pode ser alterado com o -eu
opção, que instrui grep
para retornar apenas os nomes de arquivos que contêm o texto especificado.
Agora vamos ver isso em ação. Use a seguinte sintaxe no terminal e especifique todos os arquivos que você deseja pesquisar anexando seu caminho e nome ao final do comando.
$ grep -l exemplo document1.TXT Document2.TXTUsando o Grep para descobrir quais arquivos contêm o texto especificado
A saída de grep
mostra -nos que nossa string de pesquisa "Exemplo" existe apenas no Document1.TXT
arquivo. Além disso, não se esqueça que os curingas são permitidos e podem ajudar a fazer grep
mais eficiente:
$ grep -l Exemplo *.TXT
Mas vamos ser realistas. Se você está pesquisando apenas alguns arquivos, provavelmente não teria acabado lendo este guia. Provavelmente, você tem um diretório (ou vários diretórios) cheio de arquivos que você precisa pesquisar. Isso não é problema para grep
Contanto que você inclua o -r
opção (recursiva) no comando.
$ grep -lr exemplo/path/to/diretório1/*.txt/path/to/diretório2
Ou, para pesquisar no diretório atual e em todos os subdiretos, omite o caminho no final do comando.
$ grep -lr ExemploUsando Grep para pesquisar recursivamente
Considere também usar o -eu
opção, o que torna sua sequência de pesquisa insensível. Para aprender sobre o resto do grep
Funções do comando em detalhes, confira nosso guia de introdução ao Grep. A página do homem também contém informações úteis:
$ grep homem
Procure texto específico com o comando de encontro
Se você preferir usar o encontrar
Comando, você pode usar a seguinte sintaxe de comando:
$ find/path/to/Search -Type f -exec Grep -l "Your -Search -string" \;Usando o comando encontre para pesquisar arquivos que contêm a string de texto
Mais uma vez, adicione -eu
para o grep
parte do comando para ignorar o caso. O encontrar
e grep
Métodos funcionam bem. Use o que você preferir.
Conclusão
Neste guia, vimos como encontrar todos os arquivos contendo texto específico no Linux. Aprendemos dois métodos de linha de comando para realizar a tarefa, mas ainda mais existem.
Tutoriais do Linux relacionados:
- Coisas para instalar no Ubuntu 20.04
- Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
- Comandos básicos do Linux
- Uma introdução à automação, ferramentas e técnicas do Linux
- Comandos Linux: os 20 comandos mais importantes que você precisa para…
- Como encontrar uma string ou texto em um arquivo no Linux
- Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
- Instale Arch Linux na estação de trabalho VMware
- Ubuntu 20.04 Guia
- Coisas para instalar no Ubuntu 22.04