【问题标题】:Why is not my `find` command working? [closed]为什么我的 `find` 命令不起作用? [关闭]
【发布时间】:2016-09-29 18:01:10
【问题描述】:

这是什么,为什么没有列出名称中包含“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

【问题讨论】:

    标签: bash macos shell unix


    【解决方案1】:

    你错过了-name 测试:

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

    没有-name

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

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


    附带说明,如果您只查找文件,请添加-type f

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

    【讨论】:

    • 没错。我们同时回答了我的问题。赞成。谢谢。
    • 这就是我投票的原因 :-) 一旦允许我也会接受。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-04-29
      • 1970-01-01
      • 2017-07-19
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 1970-01-01
      • 2020-10-15
      • 1970-01-01
      相关资源
      最近更新 更多