我有一個日誌文件,其中包含如下行:
06:06:48.531 9: 157 2492
06:06:49.331 10: 147 2812
...
我需要刪除僅有的第三個':' 在所有行上,這樣結果將是:
06:06:48.531 9 157 2492
06:06:49.331 10 147 2812
...
答案1
正面:
sed -e 's/://3' <file
答案2
第三個':'後面是空格,這使得它與其他的不同!
sed -i 's/: / /g' logfile
答案3
awk 解決方案:
awk '{ print(gensub(/:/,"",3,$0)) }' logfile
答案4
長版本(使用一種方法,當一個人感到疲倦並且不想想太多時非常有用...):
sed -e 's/\([^:]*\):\([^:]*\):\([^:]*\):/\1:\2:\3/'