perl:在替换部分或正则表达式中使用当前日期格式

时间:2012-04-01 07:04:04

标签: regex perl date

我在Makefile中有一个perl one-liner来编辑文件:

perl -pi -e 's/(Package version:).*/$1 123/' myfile

更改字符串Package version:并添加一个数字(本例中为123)。现在我想做同样的事情,但使用当前日期(ISO格式),所以像这样

perl -pi -e 's/(Release date:).*/$1 <current date>/' myfile

如何撰写上述<current date>以获取当前日期?

2 个答案:

答案 0 :(得分:4)

perl -MPOSIX -pi -e '$t=strftime("%Y-%m-%d", localtime); s/(Release date:).*/$1 $t/;' myfile

http://ideone.com/J7eIB

答案 1 :(得分:1)

perl -pi -e 's/(Release date:).*/$1 '"$(date +'%F %T')"'/' myfile