Como faço para pesquisar arquivos sem determinadas extensões em seus nomes?

2

Eu gostaria de pesquisar recursivamente em todos os arquivos e diretórios em um diretório para algumas strings, por exemplo %código%.

Também gostaria de excluir arquivos e diretórios que armazenam páginas da Web baixadas, mas que não são arquivos library ou .html (que ainda são de meu interesse), como:

  • arquivos cujos nomes de arquivo têm determinadas extensões, como .htm , .js , .css , .png , .gif e
  • diretórios cujos nomes terminam com .jpeg .

então como devo fazer isso? Estou pensando em usar _files antes de locate , porque find é mais rápido, mas não sei se locate pode fazer isso ou não. Obrigado.

    
por Tim 15.08.2014 / 04:32

1 resposta

1

Algo parecido com isso pode fazer o que você deseja:

find . -name '*_files' -type d -prune -o ! \( -name '*.js' -o -name '*.css' -o -name '*.png' -o -name '*.gif' -o -name '*.jpeg' \)

Se isso imprimir uma lista razoável, adicione -print0 | xargs -o grep -i library para fazer a pesquisa real.

    
por 15.08.2014 / 05:10