Answers:
如果您只想查找具有特定名称的文件,请使用 find
可以在此处找到手册页,或man find
在终端提示符下键入。
基本上,find将递归查找符合您指定条件的文件。最简单的例子:
find . -name file_name -print
这将从当前目录开始搜索名为“ file_name”的文件,然后在下面搜索并打印具有该名称的文件。
find ~ -name ".DS_Store" -delete
这将找到所有.DS_Store文件并删除它们。
您可以按名称,正则表达式,日期进行搜索。您可以使用带-exec
谓词的任何Unix方式对文件进行操作。
您还可以将find用作更复杂的操作流程的开始。例:
find . -type f -print | egrep -i '\.m4a$|\.mp3$'
将找到所有扩展名为.m4a或.mp3的文件
find . -type f -print | egrep -i '\.m4a$|\.mp3$' | wc -l
将为您提供这些文件的数量。
-print
是唯一谓词,则可以省略;此外,还有简单的通配符。因此,查找.txt
目录下的所有文件foo
都可以通过find foo -name \\*.txt
find .
从cwd 输入IS是递归的。尝试输入find .
您的根目录!
grep
期望模式和文件规范。如果缺少,则使用传递的内容作为模式,并等待数据通过标准输入进行搜索。
如果要使用更复杂的文件规范,请使用find
。
find ~ -name '*.txt' -exec grep -q 'secret' {} \; -print
-exec
谓词find
。