perl -pi.back -e 's/2013/07/31-05:54:14/2014/07/31-00:00:00/g;' /tmp/ranjan/replace.SEL
我正在使用上面的一个班轮将日期从2013/07/31-05:54:14
替换为2014/07/31-00:00:00
。但我无法做到。我只能找到字符串的替换而不是上述格式的数字。请帮帮我。
答案 0 :(得分:11)
答案 1 :(得分:4)
Perl认为日期中的正斜杠实际上是替换语句s///g
的一部分,因此您可以在日期中转义斜杠或使用不同的分隔符替换
perl -pi.back -e 's/2013\/07\/31-05:54:14/2014\/07\/31-00:00:00/g;'
或更具可读性:
perl -pi.back -e 's#2013/07/31-05:54:14#2014/07/31-00:00:00#g;'
答案 2 :(得分:3)
您必须更改分隔符,或者已正确转义正则表达式字符串。
直径可能是任何不可打印的,我喜欢使用!。
像这样:s!2013/07/31-05:54:14!2014/07/31-00:00:00!g;