줄에서 N번째 지정된 문자를 제거합니다.

줄에서 N번째 지정된 문자를 제거합니다.

다음과 같은 줄이 포함된 로그 파일이 있습니다.

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

긍정적으로:

sed -e 's/://3' <file

답변2

세 번째 ':' 뒤에는 공백이 있어서 다른 것과는 다릅니다!

sed -i 's/: / /g' logfile

답변3

이상한 해결책:

awk '{ print(gensub(/:/,"",3,$0)) }' logfile

답변4

긴 버전(피곤하고 너무 많이 생각하고 싶지 않을 때 매우 유용할 수 있는 방법 사용...):

sed -e 's/\([^:]*\):\([^:]*\):\([^:]*\):/\1:\2:\3/'

관련 정보