我想從兩個時間戳刪除毫秒時間戳刪除毫秒(列8,9)從特定列
1 20 2 14000 14000 11 1 10:11:56.136 10:11:56.136 0 1
我一直在使用下面的sed命令將其刪除:
sed 's/\(:[0-9][0-9]\)\.[0-9]\{3\}/\1/g'
這工作得很好。不過我注意到,在我的文件我有其他的時間戳記,我只有兩毫秒有的還帶有一毫秒:
**10:46:27.93 10:46:27.90** and some with only one millisecond 10:46:2 10:46:2
我要撤銷我已刪除的文件兩毫秒又跑到我的sed命令三毫秒。像這樣:
sed 's/\(:[0-9][0-9]\)\.[0-9]\{2\}/\1/g'
這很好,因爲我看到它從時間上移除了兩毫秒。
問題:
運行上面的命令後,我看到它有時也被修改了一些我的其他列。我不包括我的所有專欄,因爲它很難閱讀。我有大約40列。我只是想修改我怎麼能照顧所有三種情況下用一個命令列8,9
問題
。當我說三種情況下,我的意思是當有兩毫秒,一毫秒和三毫秒。另外,如何確保我只有只有修改第8和第9列。
任何幫助真的很感激。謝謝!!!
嘗試解決它只能從時間戳刪除,使用''S/\( [0-9] [0-9]:[0-9] [0-9]:[0-9] [0-9] \)\ [0-9] \ {2,\}/\ 1/g''。否則,請嘗試''/^\([[:blank:]] * \([^ [:space:]] + [[:blank:]] +)\ {7 \} [0-9] [0 -9]:[0-9] [0-9]:[0-9] [0-9])\ [0-9] \ {2,\} \([[:空白:]] + [ 0-9] [0-9]:[0-9] [0-9]:[0-9] [0-9])\ [0-9] \ {2,\}/\ 1 \ 3/g''(不確定,但你可能還需要轉義'+') –