在特定年份之间使用grep命令日期

时间:2017-11-23 22:37:17

标签: linux bash date grep

grep -E '^[[:digit:]]{4}\.[[:digit:]]{2}\.[[:digit:]]{2}'

我需要帮助输入日期yyyy.mm.dd,它只接受1950年到2050年之间的年份。

1 个答案:

答案 0 :(得分:0)

由于grep不理解数学,解决方案有点单调乏味:

grep -E '^(19[56789][[:digit:]]|20[01234][[:digit:]]|2050)\.[[:digit:]]{2}\.[[:digit:]]{2}'

这允许year字段是以下三个正则表达式中的任何一个:

  1. 19[56789][[:digit:]]

  2. 20[01234][[:digit:]]

  3. 2050