So finden Sie unter Linux ein bestimmtes Wort in einer Datei

Como encontrar uma palavra específica em um arquivo no Linux

⌛ Reading Time: 3 minutes

Por padrão, a maioria das ferramentas de pesquisa olha os nomes dos arquivos, não o conteúdo dos arquivos. No entanto, o programa de pesquisa GNU mais famoso, grep, examinará os arquivos com os sinalizadores corretos. Aqui, mostraremos como você pode encontrar palavras específicas em um arquivo no Linux.

Usando grep para encontrar uma palavra específica em um arquivo

Por padrão, o grep pesquisa o conteúdo dos arquivos e também os nomes dos arquivos. Ele está incluído na maioria dos sistemas Linux e geralmente é idêntico nas distros. Dito isso, caixas Linux menores ou menos poderosas podem preferir executar um comando diferente, como ack.

Dependendo de como o arquivo está codificado, o grep pode nem sempre conseguir olhar o interior. Mas para a maioria dos formatos baseados em texto, o grep pode varrer o texto do arquivo para o padrão especificado.

o -R flag define grep para o modo recursivo, navegando por todos os diretórios contidos no diretório especificado. o -w flag procura por correspondências de palavras inteiras. Isso significa que ‘vermelho’ corresponderá apenas a ‘vermelho’ cercado por caracteres de espaço em branco e não ‘redundante’ ou ‘cansado’. o -e flag prefacia o padrão a ser pesquisado. Ele suporta expressões regulares por padrão.

Para acelerar o grep, você pode usar o --exclude e --include sinalizadores para limitar a pesquisa a certos tipos de arquivos. Por exemplo, --exclude=*.csv não pesquisará em nenhum arquivo com a extensão .csv. --include=*.txt, por outro lado, pesquisará apenas em arquivos com a extensão .txt. O sinalizador pode ser adicionado imediatamente após o comando grep, conforme mostrado abaixo:

Você também pode excluir diretórios especificados seguindo o formato abaixo:

Este comando não pesquisará em nenhum diretório no diretório de trabalho atual denominado dir1, dir2 ou que corresponda ao padrão * _old, eliminando-os do processo de pesquisa. Ele executará a pesquisa de correspondência de palavra completa recursiva especificada em todos os outros arquivos no diretório de trabalho atual.

Usando find para encontrar uma palavra específica em um arquivo

Encontrar texto no arquivo Linux Encontrar Grep

Enquanto o find a sintaxe do comando é mais complicada que grep, alguns preferem.

Este comando usará find’s -exec sinalizador para passar os arquivos encontrados ao grep para pesquisa. Com um arranjo inteligente de sintaxe, você pode usar a pesquisa de sistema de arquivos mais rápida do find para localizar os tipos de arquivo específicos que deseja pesquisar e, em seguida, canalizá-los para grep para pesquisar dentro dos arquivos.

Observe que find olha apenas para nomes de arquivos, não para conteúdos. É por isso que o grep é necessário para pesquisar o texto e o conteúdo do arquivo. Os sinalizadores grep normais devem estar totalmente operacionais de dentro do -exec bandeira.

Usando ack para encontrar uma palavra específica em um arquivo

O comando ack é provavelmente a ferramenta de pesquisa mais rápida, mas não é tão popular quanto as opções acima. O comando a seguir pesquisará no diretório atual.

Se quiser pesquisar em um arquivo ou diretório específico, você pode anexar esse arquivo ou nome de caminho totalmente qualificado à sua pesquisa.

Conclusão

Para a maioria das pessoas, na maioria das situações, grep é a melhor ferramenta de pesquisa amplamente disponível. Você também pode consultar outras ferramentas de pesquisa, como RipGrep, para opções de pesquisa mais rápidas