find
find é um aplicativo para linha de comando de busca de arquivos utilizado em sistemas operativos Unix-like e derivados. Ele procura por um ou mais diretórios na árvore da estrutura do sistema de arquivos, localizando arquivos baseados em um critério estabelecido pelo utilizador. Ele também suporta expressões regulares, e pode ser usado para aplicar um filtro especifico em vários arquivos.
Exemplos de uso
editarO comando abaixo busca arquivos criados a menos de três minutos e que possuem extensão "txt":
find ~ -cmin -3 -iname '*.txt'
os mesmos resultados do comando anterior podem ser obtidos com uma sintaxe que explicite matematicamente a operação, conforme apresentado a seguir:
find ~/ \( -cmin -3 -a -iname *.txt \)
O comando abaixo busca arquivos maiores que 500MB:
find ~/ -size +500M
O comando abaixo busca arquivos do tipo PDF (iname ignora maiúsculas):
find ~/ -iname *.pdf
O comando abaixo conta quantos arquivos ".txt" há na pasta pessoal "~/" (combinando com o comando wc):
find ~/ -iname *.txt | wc -l
O comando abaixo mostra todos os arquivos PDF que não sejam maiores que 2000 bytes. Tudo que estiver após a exclamação será negado:
find ~/ -iname *.pdf ! -size +2000
O comando abaixo procura por arquivos de um usuário especifico:
find / -user sergio
find . -user root
O comando abaixo busca com opções. no caso, arquivos html ou htm:
find ~/ \( -name *.htm -o -name *.html \) -atime +5
find ~/ -iregex '.*html?' -atime +5
O comando abaixo procura por uma lista de arquivos e os apaga (combinando com o comando rm):
find ~/.Trash -iname *.txt | xargs rm -rf
find ~/ -type f -print0 | xargs -0 chmod 755
# usando o print0 conseguimos pegar arquivos com nomes
# que contenham espaços
find /originalPath/ -name *.mp3 -print0 | xargs -0 -i cp ./{} /destinationPath/
find ./ -maxdepth 1 -iname "*.doc" -print0 | xargs -0 -i cp ./{} /home/germana/Desktop/
O comando abaixo procura todos os arquivos ".conf" que contenham número IP:
find /etc -name *.conf | xargs grep -Hn '[0-9][0-9]*[.][0-9][0-9]*[.][0-9][0-9]*[.][0-9][0-9]*'
Ligações externas
editar- Official webpage for GNU find (em inglês).
- find files – Commands & Utilities Reference, The Single UNIX® Specification, Issue 7 from The Open Group (em inglês).
- wiki sobre find (em inglês).