find -regex

"这篇博客介绍了如何利用find命令的-regex参数配合-regextype选项进行精确的路径正则匹配,特别是强调了在查找特定格式的日期目录时的用法。通过示例展示了如何指定posix-extended匹配类型来支持{2}
摘要由CSDN通过智能技术生成

find精确匹配

  • find -name “*.txt” 支持匹配".txt"结尾的文件。

痛点: 不支持精确匹配

  • find -regex 参数支持标准正则匹配式匹配且是完整路径匹配
    我理解就是针对于一行参数匹配。
    例如
    目前game目录下有如下目录。
    在这里插入图片描述

    需要按日期匹配目录,只输出类似“2021-08-12”的目录。

    需要添加-regextype 指定正则匹配的类型,才可以使用类似{2}变量出现次数的写法。
    man find 也可以查到该说明
    在这里插入图片描述

    单单只使用-regex是不支持{2}这样的写法的。
    展示
    命令: find /data/home/user00/logs/game -type d -a -regextype posix-extended -regex ".*/[0-9]{4}-[0-9]{2}-[0-9]{2}"在这里插入图片描述

注意:

  1. 由于-regex是完整路径匹配,所以.*/必须要加.
  2. 原生-regex匹配时使用的是标准正则匹配,需要通过-regextype指定为posix-extended匹配方式。可以使用{2}这样写法。(不支持\d写法,但是支持\w,匹配单个数字[0-9]了)

-regextype 后可填类型

可填参数意义
emacs(this is the default)默认
posix-awk待查
posix-basic待查
posix-egrep待查
posix-extended待查
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值