如何搜索名称中没有某些扩展名的文件?

如何搜索名称中没有某些扩展名的文件?

我想在目录下的所有文件和目录中递归搜索某些字符串,例如library.

我还想排除存储下载的网页但不是文件(我仍然感兴趣)的文件和目录.html.htm例如:

  • 文件名具有特定扩展名的文件,例如.js.css.png.gif.jpeg
  • 名称以 . 结尾的目录_files

那么我该怎么做呢?我正在考虑使用locatebefore find,因为locate更快,但我不知道locate是否可以做到。谢谢。

答案1

像这样的事情可能会做你想要的:

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

如果打印出合理的列表,则添加-print0 | xargs -o grep -i library进行实际搜索。

相关内容