【发布时间】:2013-09-05 17:22:04
【问题描述】:
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。但我无法做到。我只能找到字符串的替换,而不是上述格式的数字。请帮帮我。
【问题讨论】:
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。但我无法做到。我只能找到字符串的替换,而不是上述格式的数字。请帮帮我。
【问题讨论】:
【讨论】:
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;'
【讨论】:
你必须改变你的分隔符,否则你已经正确地转义了你的正则表达式字符串。
dilmeter 可以是任何不可打印的东西,我喜欢用!。
像这样:
s!2013/07/31-05:54:14!2014/07/31-00:00:00!g;
【讨论】: