只用sed
,匹配前兩星(*
)和下三個數字後的放置空間。簡單:
sed 's;\*\*[0-9]\{3\};& ;'
嘗試
$ echo '06/28/12 14:17:10.**754117** :R: INFO [6] X10.cpp:4042 |xevent 35932825 1 0 0' | sed 's;\*\*[0-9]\{3\};& ;'
06/28/12 14:17:10.**754 117** :R: INFO [6] X10.cpp:4042 |xevent 35932825 1 0 0
關於@DennisWilliamson意見和答案,我不知道自己的明星是否有字符串的一部分,或者應該是一部分的降價。
在任何情況下,.XXX
(點和三位數字)將匹配的唯一地方是ms部分。所以這將工作太:
sed 's;[0-9]\{3\};& ;'
試試吧:)
$ echo '06/28/12 14:17:10.754117 :R: INFO [6] X10.cpp:4042 |xevent 35932825 1 0 0' | sed 's;[0-9]\{3\};& ;'
06/28/12 14:17:10.754 117 :R: INFO [6] X10.cpp:4042 |xevent 35932825 1 0 0
添加點想使它成爲一個更加安全:
sed 's;\.[0-9]\{3\};& ;'
試試吧:)
$ echo '06/28/12 14:17:10.754117 :R: INFO [6] X10.cpp:4042 |xevent 35932825 1 0 0' | sed 's;\.[0-9]\{3\};& ;'
06/28/12 14:17:10.754 117 :R: INFO [6] X10.cpp:4042 |xevent 35932825 1 0 0
是字面上的星號在數據中還是隻用它們來突出顯示感興趣的部分? –