2012-09-05 56 views
0

我有這種格式的數據字段的文件YYYY-MM-DD HH:MM:SS但我注意到導出設置Months值與分鐘值相同。我想使用sed將所有行的月份值替換爲相同的值。使用sed替換文件中的字符串

我想這一點,並沒有奏效:

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

人有一個想法如何做到這一點?

+0

請給輸入數據的採樣和所希望的濾波結果 –

+0

示例數據是「2012-59-30 23:59:00,94933883, - ,測試」。我希望將其更改爲「2012-08-30 23:59:00,94933883, - ,測試」 – PrecTechCharlie

+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 
+0

感謝作品像一個魅力:-) – PrecTechCharlie

+1

不要猶豫,upvote和接受;) – 2012-09-05 12:28:02

0

隨着GNU sed的:

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