为什么我的`find`命令不起作用?

时间:2016-09-29 18:01:10

标签: bash macos shell unix

这是什么,为什么这不列出具有" idea"在他们的名字?

/Applications/WebStorm.app/Contents$ find . "*idea*" -exec echo aaa {} \; | head
aaa .
aaa ./_CodeSignature
aaa ./_CodeSignature/CodeResources
aaa ./bin
aaa ./bin/fsnotifier
aaa ./bin/idea.properties
aaa ./bin/inspect.sh
aaa ./bin/libbreakgen.dylib
aaa ./bin/libbreakgen.jnilib
aaa ./bin/libbreakgen64.dylib
find: *idea*: No such file or directory

2 个答案:

答案 0 :(得分:3)

您错过了-name测试:

find . -name "*idea*" -exec echo aaa {} \;

没有-name

find . "*idea*" -exec echo aaa {} \;

find - 递归地在当前目录(.)上的所有文件/目录,以及当前目录中由*idea*匹配的文件/目录。据推测,当前目录中的名称中没有idea的文件/目录,因此有关*idea*的错误。

作为旁注,如果您只查找文件,请添加-type f

find . -name "*idea*" -type f -exec echo aaa {} \;

答案 1 :(得分:0)

愚蠢的我,我已经忘记了-name参数。此命令列出.文件夹的所有内容,后面是(不存在的)"*idea*"文件夹的所有上下文。