我很难 找到 当前目录及其子目录中的匹配项。
当我运行时find *test.c,它只给我当前目录中的匹配项。(不在子目录中查找)
find *test.c
如果我尝试,find . -name *test.c我会期望得到相同的结果,但是相反,它只给我子目录中的匹配项。当工作目录中有应该匹配的文件时,它会给我:find: paths must precede expression: mytest.c
find . -name *test.c
find: paths must precede expression: mytest.c
此错误是什么意思,如何从当前目录及其子目录中获取匹配项?
尝试将其用引号引起来-您正在运行Shell的通配符扩展,因此您通过传递的内容看起来像:
find . -name bobtest.c cattest.c snowtest.c
…导致语法错误。因此,请尝试以下操作:
find . -name '*test.c'
请注意文件表达式周围的单引号-这些引号将阻止Shell(bash)扩展通配符。