次のような行を含むログ ファイルがあります。
06:06:48.531 9: 157 2492
06:06:49.331 10: 147 2812
...
削除する必要があるのみ3番目:' をすべての行に記述すると、結果は次のようになります。
06:06:48.531 9 157 2492
06:06:49.331 10 147 2812
...
答え1
POSIX: 正しい:
sed -e 's/://3' <file
答え2
3 番目の ':' の後にスペースが続くため、他のものとは異なります。
sed -i 's/: / /g' logfile
答え3
awk ソリューション:
awk '{ print(gensub(/:/,"",3,$0)) }' logfile
答え4
長いバージョン(疲れていてあまり考えたくないときに非常に便利な方法を使用):
sed -e 's/\([^:]*\):\([^:]*\):\([^:]*\):/\1:\2:\3/'