请教linux的find命令如何按正则表达式过滤?

浏览:40日期:2022-06-22

问题描述

我想在当前目录下查找符合格式: 整数_整数.zip 的文件,找到并删除它们。比如这样的文件名: 234_23444.zip

请问命令该如何写啊?谢谢大牛!

问题解答

回答1:

可以利用选项-regex来使用正则:

find . -regex ’./[0-9]+_[0-9]+.zip’

如果需要将找到的文件删除则利用xargs(注意确定之后再删除):

find . -regex ’./[0-9]+_[0-9]+.zip’|xargs rm -f

如果不仅要删除还要得到删除的数量,可以这样:

find . -regex ’./[0-9]+_[0-9]+.zip’|tee >(wc -l 1>&2)|xargs rm -f

相关文章: