我有一个实用程序,每晚都会生成代码文档。我想添加一个时间戳,以便了解生成的文档的年龄。我想用perl。
我已经看到了以下句子我可以用我想要的任何值改变一个小丑(%1)
perl -pi.bak -e 's/%1/date/g' footer.html
使用另一个我可以得到系统时间戳:
perl -MPOSIX -we "print POSIX::strftime('%d/%m/%Y %H:%M:%S', localtime)"
我的问题是,是否有任何方法只用一个句子合并两个指令。
非常感谢
答案 0 :(得分:2)
尝试这样做:
perl -MPOSIX -pi.bak -e 'BEGIN{$date = strftime("%d/%m/%Y %H:%M:%S", localtime);} s/%1/$date/g' file.html
答案 1 :(得分:2)
sh
命令:
perl -i.bak -MPOSIX -pe's/%1/strftime("%d/%m/%Y %H:%M:%S", localtime)/eg'
cmd
命令:
perl -i.bak -MPOSIX -pe"s/%1/strftime('%d/%m/%Y %H:%M:%S', localtime)/eg"
/e
导致替换表达式被视为要执行的Perl代码,其结果是替换文本。