有没有命令可以使用终端搜索 Mac?我尝试使用 grep 进行搜索,但它似乎没有响应,什么也没有出现。
例如,我输入“grep Files”(文件夹名称),它只会打印一个空白行,什么也不会发生。
答案1
您还可以使用该mdfind
命令通过 Spotlight 执行搜索。更多信息这里。
用于mdfind -name searchterm
检索名称为 的文件searchterm
。用于mdfind searchterm
对文件名和内容进行搜索。
答案2
如果你只想查找具有特定名称的文件,请使用find
手册页可以找到这里man find
或者在终端提示符下输入。
基本上,find 会递归查找符合您指定条件的文件。最简单的例子:
find . -name file_name -print
这将从当前目录开始搜索名为“file_name”的文件,并在下面搜索并打印具有该名称的文件。
find ~ -name ".DS_Store" -delete
这将找到所有 .DS_Store 文件并将其删除。
您可以按名称、正则表达式、日期进行搜索。您可以使用谓词以任何 Unix 方式对文件进行操作-exec
。
您还可以使用 find 作为更复杂的操作管道的开始。例如:
find . -type f -print | egrep -i '\.m4a$|\.mp3$'
将查找所有扩展名为 .m4a 或 .mp3 的文件
find . -type f -print | egrep -i '\.m4a$|\.mp3$' | wc -l
将为您提供这些文件的数量。
答案3
如果要搜索整个文件夹,只需在 grep 上使用 -r:
grep -r pattern folder/to/search
使用 find,您还可以使用 xargs:
find folder/to/search -name '*.txt' | xargs grep pattern
或者确保一次搜索两个文件并因此指定文件名:
find folder/to/search -name '*.txt' | xargs grep -n2 pattern