尝试使用以下命令行搜索从 list.txt 中排除的所有文件
find . -type f -name "*.ext" $(printf "! -name %s " $(cat list.txt))
我得到以下结果
-bash: /usr/bin/find: Argument list too long
我也尝试过 xargs 但不确定我是否正确使用它。任何帮助将不胜感激。
最佳答案
我会通过管道发送到grep
:
find -type f -name '*.ext' | grep -vFf list.txt
当传递-f
时,grep从文件中读取搜索模式。 -v
否定搜索。通常 grep
将搜索模式视为正则表达式。如果您 -F
grep
会将它们视为固定字符串。
关于linux -/usr/bin/find 参数列表太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28727980/