Linux模糊匹配文件名-批量删除文件
首先,我们使用 find
命令,匹配我们要删除的文件,然后通过 -exec
执行批量删除:
find . -name 'info.log.2020-06*' -exec rm {} \;
命令含义:
.
表示查找的目录范围,也就是当前目录下
'info.log.2020-06*'
为查找的文件名,*
表示匹配任意字符串
支持以下通配符:
通配符 | 作用 |
---|---|
* | 匹配任意字符串 |
? | 匹配任意单个字符 |
[] | 匹配 [] 内字符,可以按,- 区分,也可无符号区分 |
! | 匹配非 ! 后的字符串中的每一个字符 一般配合[] 使用 |
-exec rm {}
表示使用前面 find
命令获取到的文件名,替换 {}
批量执行rm命令,可以根据自己的需要修改执行的命令
在执行上面的命令删除文件时,最好先单独执行 find
命令,检查下匹配到的文件,以免错删 :
find . -name 'info.log.2020-06*'