21 find与配合使用grep,可以找到与模式匹配的文件: # find | grep error ./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html ./error_log ./includes/classes/error_log 但是,find找不到单独使用第一个文件: # find . -name error* ./error_log ./includes/classes/error_log 不使用时为什么find找不到errors.html文件grep?如何find用于显示此文件? shell find wildcards quoting — 多坦科恩 source
42 您需要引用您的参数,error*因为外壳会对其进行扩展。因此,您现在真正正在运行的是find -name error_log,因为这是Shell可以将其扩展到的内容(error_log当前目录中有一个名为的文件)。 find . -name 'error*' 是针对您的用例的正确调用。 — 丹尼斯·凯瑟梅克(Dennis Kaarsemaker) source 12 一种替代性写作是find -name error\*-少按一个键;)这具有相同的效果,该*获取作为识字星号传递给find命令,并且不会被您的外壳扩展 — zhenech 2012年 3 如果遇到外壳问题(外壳如何解释您的命令行并将所有参数和参数传递给实际命令),请重新运行该命令,并在echo命令之前添加该命令。因此,如果您运行echo find . -name error*它,它将会输出find . -name error_log — CarlosCampderrós12年
find -name error\*
-少按一个键;)这具有相同的效果,该*
获取作为识字星号传递给find命令,并且不会被您的外壳扩展