使用sed替换文件中的字符串

时间:2012-09-05 12:08:01

标签: linux sed

我的数据字段为YYYY-MM-DD HH:MM:SS,但是我注意到导出将Months值设置为与分钟值相同。我想使用sed将所有行的Month值替换为相同的值。

我正在尝试这个并且它不起作用:

sed "s/-[0-9]{2,}-/-08-/g" test.txt

任何人都知道如何做到这一点?

2 个答案:

答案 0 :(得分:1)

$ sed 's/^\(....\)-../\1-09/' < input

输入:

$ cat input 
2012-52-05 09:52:00
2012-53-05 09:53:00
2012-54-05 09:54:00

输出:

$ sed 's/^\(....\)-../\1-09/' < input
2012-09-05 09:52:00
2012-09-05 09:53:00
2012-09-05 09:54:00

答案 1 :(得分:0)

使用GNU sed:

sed -r 's/([0-9]{4})-[0-9]{2}-/\1-08-/' infile