我知道我可以单引号名称参数'* any' 但是问题是为什么我只会在始终匹配的第二个文件上出现错误
如果我只有一个文件,则没有任何错误
我想理解
运行命令
find . -type f -name *any -exec grep -H "lang" {} \; | less
我明白了 查找:路径必须在表达式之前: 用法:查找[-H] [-L] [-P] [-Olevel] [-D help | tree | search | stat | rates | opt | exec | time] [path ...] [expression]
重现问题的步骤
mkdir anydir
cd anydir
touch file1.any
运行命令
find . -type f -name *any -exec grep -H "lang" {} \; | less
无输出无错误:正确
添加第二个非.any文件以供测试
touch file.txt
再次运行命令
find . -type f -name *any -exec grep -H "lang" {} \; | less
无输出无错误:正确c
现在添加第二个任何文件
touch file2.any
再次运行命令
find . -type f -name *any -exec grep -H "lang" {} \; | less
错误输出 查找:路径必须在表达式之前:file2.any 用法:查找[-H] [-L] [-P] [-Olevel] [-D help | tree | search | stat | rates | opt | exec | time] [path ...] [expression]
确认添加第三个文件.any
touch file3.any
再次运行命令
find . -type f -name *any -exec grep -H "lang" {} \; | less
错误输出 查找:路径必须在表达式之前:file2.any 用法:查找[-H] [-L] [-P] [-Olevel] [-D help | tree | search | stat | rates | opt | exec | time] [path ...] [expression]
请注意,错误始终是file2.any
我真的听不懂