从查找中排除文件列表

托马斯·约翰逊(Thomas Johnson):

如果我在运行时要排除的文本文件中有文件名列表find,该怎么办?例如,我想做类似的事情:

find /dir -name "*.gz" -exclude_from skip_files

并获得/ dir中的所有.gz文件,但skip_files中列出的文件除外。但是find没有-exclude_from标志。如何跳过其中的所有文件skip_files

乔希·乔利(Josh Jolly):

我认为没有这样find的选项,您可以使用printf和排除列表构建命令

find /dir -name "*.gz" $(printf "! -name %s " $(cat skip_files))

与执行操作相同:

find /dir -name "*.gz" ! -name first_skip ! -name second_skip .... etc

另外,您也可以从find以下管道grep

find /dir -name "*.gz" | grep -vFf skip_files

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章