Linux模糊匹配文件名-批量删除文件

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*'

你可能感兴趣的:(服务器命令)