正则 - grep 日期简单匹配

  1. 概述

    1. 尝试用 正则 做 日期匹配
  2. 背景

    1. 面试的时候, 时常有人这么问
    2. 知道这么问, 脑袋还是被锤烂了
  3. 环境

    1. os

      1. win10
    2. git-bash

      1. mintty-2.9.4

1. 简单匹配

  1. 单个日期

    > grep -E '2020-05-21' <file>
    
  2. 连续日期

    > grep -E '2020-05-2[0-9]' <file>
    > grep -E '2020-05-(1[5-9]|2[0-4])' <file>
    
  3. 间断日期

    > grep -E '2020-05-(1[0-4]|2[0-4])' <file>
    
  4. 反选

    > grep -E '2020-02-[^1][0-9]' <file>
    

2. 后续

  1. 匹配 年份 与 月份

    1. 同样的思路
  2. 匹配 星期

    1. 在日志里, 添加 星期相关的字段, 例如: Sun, Sunday 之类的
      1. 简单方便
    2. 通过日期来算星期
      1. 不是不能, 毕竟一年也就 53 个星期一...
      2. 暂时找不到聪明办法, 还是有点不开心
  3. awk

    1. awk 可以在 分段里 匹配
      1. 当然这个是后话了
posted @ 2020-05-21 10:15  轩辕拾銉  阅读(3023)  评论(0编辑  收藏  举报