Pesquisa de site

Como usar o comando ‘find’ para pesquisar vários nomes de arquivos (extensões) no Linux


Muitas vezes ficamos presos em uma situação em que temos que procurar vários arquivos com extensões diferentes, isso provavelmente já aconteceu com vários usuários Linux principalmente dentro do terminal.

Existem vários utilitários Linux que podemos usar para localizar ou localizar arquivos no sistema de arquivos, mas encontrar vários nomes de arquivos ou arquivos com extensões diferentes às vezes pode ser complicado e requer comandos específicos.

Um dos muitos utilitários para localizar arquivos em um sistema de arquivos Linux é o utilitário find e neste guia prático, veremos alguns exemplos de uso de find para ajude-nos a localizar vários nomes de arquivos de uma só vez.

Antes de nos aprofundarmos nos comandos reais, vejamos uma breve introdução ao utilitário find do Linux.

A sintaxe mais simples e geral do utilitário find é a seguinte:

find directory options [ expression ]

Vejamos alguns exemplos do comando find no Linux.

1. Supondo que você queira encontrar todos os arquivos no diretório atual com extensões de arquivo .sh e .txt, você pode fazer isso executando o comando abaixo:

find . -type f \( -name "*.sh" -o -name "*.txt" \)

Interpretação do comando acima:

  1. . significa o diretório atual
  2. A opção -type é usada para especificar o tipo de arquivo e aqui estamos procurando por arquivos regulares representados por f
  3. A opção -name é usada para especificar um padrão de pesquisa, neste caso, as extensões de arquivo
  4. -o significa “OU”

É recomendado que você coloque as extensões de arquivo entre colchetes e também use o caractere de escape \ (barra invertida) como no comando.

2. Para encontrar três nomes de arquivos com extensões .sh, .txt e .c, execute o comando abaixo:

find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)

3. Aqui está outro exemplo onde procuramos arquivos com .png, .jpg, .deb e < extensões.pdf:

find /home/aaronkilik/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)

Quando você observa criticamente todos os comandos acima, o pequeno truque é usar a opção -o no comando find, que permite adicionar mais nomes de arquivos ao array de pesquisa e também saber os nomes ou extensões dos arquivos que você está procurando.

Conclusão

Neste guia, abordamos um truque simples, mas útil, do utilitário find para nos permitir encontrar vários nomes de arquivos emitindo um único comando. Para entender e usar find para muitas outras operações vitais de linha de comando, você pode ler nosso artigo abaixo.

Não perca: Domine o comando ‘find’ do Linux com estes 35 exemplos