如何替换文件中的日期字符串?

时间:2014-12-23 10:21:49

标签: bash unix awk sed

我有一个约会" 12/12/2013"在一个文件中,我希望它可以直接替换为MM / DD / YYYY。

文件

Date: 12/12/2013             Shipment
Name: xxxx ................

我希望它为

Date: MM/DD/YYYY             Shipment
Name: xxxx................

3 个答案:

答案 0 :(得分:4)

使用尝试此操作(分隔符可以是任何字符,不限于默认/;此处我使用@):

sed -i.bak 's@Date:\s*12/12/2013@Date: MM/DD/YYYY@' file

sed -i.bak 's@12/12/2013@MM/DD/YYYY@' file

sed替换的基本框架是:s///

答案 1 :(得分:1)

sed 's#[[:digit:]]\{2\}/[[:digit:]]\{2\}/[[:digit:]]\{4\}#MM/DD/YYYY#'

匹配2位数后跟/后跟2位数字/,最后匹配4位数,然后将模式替换为MM/DD/YYYY

答案 2 :(得分:0)

试试这个。

sed -i 's_12/12/2013_MM/DD/YYYY_' file name

否则。

sed 's_12/12/2013_MM/DD/YYYY_' file name > filename