sexta-feira, 30 de julho de 2010

Comando Find

Como o próprio nome já diz, o comando find serve para localizar arquivos dentro do sistema. A pesquisa pode ser feita através de diversos critérios, alguns serão especificados abaixo:

-name [parâmetro] Procura por arquivos através de seu nome.
-type [parâmetro] Procura por arquivos através de seu tipo.
-size [parâmetro] Procura por arquivos através de seu tamanho.

O comando find é definido sintaticamente por find [caminho] [expressão], onde [caminho] seria o caminho absoluto ou relativo do diretório que servirá de ponto de partida e [expressão] seria o critério a ser utilizado. Exemplos:

find -name "*.txt" Lista todos os arquivos em formato txt existentes no diretório atual.

find /tmp -name "*.log" Lista todos os logs existente no diretório /tmp.

É possível realizar pesquisas com mais de um critério, para isto servem os operadores lógicos ou (-o), e (-a), negação (-not). Caso mais de um critério seja especificado e nenhum operador seja usado, o operador lógico usado será o -a. Exemplos:

find -name "*.txt" -name "RTFM*" Equivalente a find -name "RTFM.txt"

find -name "*.txt" -not -name "RTFM*" Procura por arquivos de texto que não sejam o "RTFM.txt"

É possível acrescentar ações ao find, gerando assim uma espécie de automação. Apenas uma ação pode ser adicionada ao final e caso seja necessário executar mais de uma, é possível executar um script. Existem diversos tipos de ações que podem ser tomadas, segue abaixo alguns exemplos:

find -empty -delete Deleta arquivos do diretórtio atual e sub-arquivos que estiverem vazios.

find -type f -exec MeuScript '{}' \; Executa sobre todos os arquivos do diretório atual os commandos descritos em MeuScript.

Existem diversos critérios de pesquisa, bem como ações que podem ser tomadas. Para ter acesso a todas, basta usar o comando man find.

Nenhum comentário:

Postar um comentário