小编典典

“查找:路径必须在表达式之前:”如何指定也可在当前目录中找到文件的递归搜索?

linux

我很难 找到 当前目录及其子目录中的匹配项。

当我运行时find *test.c,它只给我当前目录中的匹配项。(不在子目录中查找)

如果我尝试,find . -name *test.c我会期望得到相同的结果,但是相反,它只给我子目录中的匹配项。当工作目录中有应该匹配的文件时,它会给我:find: paths must precede expression: mytest.c

此错误是什么意思,如何从当前目录及其子目录中获取匹配项?


阅读 360

收藏
2020-06-02

共1个答案

小编典典

尝试将其用引号引起来-您正在运行Shell的通配符扩展,因此您通过传递的内容看起来像:

find . -name bobtest.c cattest.c snowtest.c

…导致语法错误。因此,请尝试以下操作:

find . -name '*test.c'

请注意文件表达式周围的单引号-这些引号将阻止Shell(bash)扩展通配符。

2020-06-02