我很难在当前目录及其子目录中找到find个匹配项.
当我运行find *test.c
时,它只给出当前目录中的匹配项.(不在子目录中查找)
如果我try find . -name *test.c
,我会期望得到相同的结果,但它只提供子目录中的匹配项.当工作目录中有应该匹配的文件时,它会给我:find: paths must precede expression: mytest.c
这个错误是什么意思?如何从当前目录及其子目录中获取匹配项?
我很难在当前目录及其子目录中找到find个匹配项.
当我运行find *test.c
时,它只给出当前目录中的匹配项.(不在子目录中查找)
如果我try 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)扩展通配符.