通过终端搜索 Mac?

JFW*_*JFW 32 linux mac terminal

是否有任何命令可以使用终端搜索您的 Mac?我尝试使用 grep 进行搜索,但似乎没有响应,并且什么也没有出现。

例如,我会输入“grep Files”(文件夹名称),它只打印一个空行,什么也没有发生。

dre*_*ewk 32

如果您只想查找具有特定名称的文件,请使用 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

会给你这些文件的数量。


reg*_*reg 27

您还可以使用该mdfind命令通过 Spotlight 执行搜索。更多信息在这里

使用mdfind -name searchterm以名为检索文件searchterm。用于mdfind searchterm对文件名和内容执行搜索。


Eri*_*his 5

如果要搜索整个文件夹,只需在 grep 上使用 -r 即可:

grep -r pattern folder/to/search
Run Code Online (Sandbox Code Playgroud)

使用 find,您还可以使用 xargs:

find folder/to/search -name '*.txt' | xargs grep pattern
Run Code Online (Sandbox Code Playgroud)

或确保您一次搜索两个文件并因此指定文件名:

find folder/to/search -name '*.txt' | xargs grep -n2 pattern
Run Code Online (Sandbox Code Playgroud)