如何使用sed匹配月日模式?

时间:2014-08-06 18:22:29

标签: regex linux bash sed

我正在处理大型文件,我想做两个任务,第一个是用这种方式替换所有日期:" 2014年8月12日"或" 1999年1月31日"所以我在sed中使用以下行:

s/\(jan.\|feb.\|mar.\|apr.\|may\|jun.\|jul.\|aug.\|sep.\|oct.\|nov.\|dec.\) \([0-9]\|[0-9][0-9]\) [1-9][0-9][0-9][0-9]/tokendate/g

然而,它不需要例如八月,我知道我可以改变八月。对于八月,但我喜欢那个sed匹配任何以aug___或sep ____开头的字符串。

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:2)

sed -r 's/(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)[a-z]* [0-9]{1,2} [1-9][0-9]{3}/tokendate/gi' file