在我的下fetch/evs/
,没有子文件夹,我有一个命令应该列出所有fetch/evs/*.ev
不包含文本的文件' Error
:
find . -ipath '*/fetch/evs/*.ev' | xargs grep -L -e "' Error" > try0.txt
此命令返回 692 个文件。奇怪的是它忽略了满足条件的文件的一部分,例如,如果我这样做:
find . -ipath '*/fetch/evs/grades*.ev' | xargs grep -L -e "' Error" > try1.txt
此命令返回 72 个根本不存在的文件try0.txt
。
我真的无法理解这个......有人可以帮忙吗?
Edit1:我刚刚意识到我遗漏了一个非常重要的信息,实际上在命令之后引发了一条消息:xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option
。并且该命令确实会在名称包含'
. 为了纠正这个问题,我尝试了:
find . -ipath '*/fetch/evs/*.ev' | xargs -0 grep -L -e "' Error" > try3.txt
它返回xargs: argument line too long
和 0 文件。
我也试过:
find . -ipath '*/fetch/evs/*.ev' -print0 | xargs -0 grep -L -e "' Error" > try4.txt
这根本不会停止....
有人有什么主意吗?