첫 번째 열을 제외한 모든 열의 "콜론"을 바꾸고 싶습니다.
]chr9:67290502]N SUPP_VEC=011 SVLEN=0 SVTYPE=TRA 0 0 0 0/1:NA:58745598:23,0:--:.:TRA:BND00068094:NA:NA:chr10_8544904-chr9_67290502 ./.:NA:58745598:0,4:--:.:TRA:126434_2:NA:NA:chr10_8544903-chr9_67290501
원하는 출력
]chr9:67290502]N SUPP_VEC=011 SVLEN=0 SVTYPE=TRA 0 0 0 0/1NA5874559823,0--.TRABND00068094NANAchr10_8544904-chr9_67290502 ./.NA587455980,4--.TRA126434_2NANAchr10_8544903-chr9_67290501
시험을 마친:
sed 's/(chr*.)*.[^: ]//g'
참고: 처음 4개 열 다음에는 ":"가 고정되어 있지 않고 어디에나 있을 수 있으므로 열을 정의할 필요가 없습니다.
답변1
"열"을 생각하고 있다면 awk가 콘텐츠를 구문 분석하기를 원할 것입니다. 이상적으로는 GNU awk에 액세스할 수 있습니다.
이 시도:
awk '{for(x=2;x<=NF;x++){gsub(":","",$x)}}1'
테스트 사례:
$ echo "]chr9:67290502]N SUPP_VEC=011 SVLEN=0 SVTYPE=TRA 0 0 0 0/1:NA:58745598:23,0:--:.:TRA:BND00068094:NA:NA:chr10_8544904-chr9_67290502 ./.:NA:58745598:0,4:--:.:TRA:126434_2:NA:NA:chr10_8544903-chr9_67290501" | awk '{for(x=2;x<=NF;x++){gsub(":","",$x)}}1'
]chr9:67290502]N SUPP_VEC=011 SVLEN=0 SVTYPE=TRA 0 0 0 0/1NA5874559823,0--.TRABND00068094NANAchr10_8544904-chr9_67290502 ./.NA587455980,4--.TRA126434_2NANAchr10_8544903-chr9_67290501
답변2
아래 sed 명령을 사용해 보십시오. 매우 잘 작동합니다.
command: sed "s/://2g"`
산출
입력이 있는 명령: echo "]chr9:67290502]N SUPP_VEC=011 SVLEN=0 SVTYPE=TRA 0 0 0 0/1:NA:58745598:23,0:--:.:TRA:BND00068094:NA:NA:chr10_8544904-chr9_67290502 ./.:NA:58745598:0,4:--:.:TRA:126434_2:NA:NA:chr10_8544903-chr9_67290501"| sed "s/://2g"
산출
]chr9:67290502]N SUPP_VEC=011 SVLEN=0 SVTYPE=TRA 0 0 0 0/1NA5874559823,0--.TRABND00068094NANAchr10_8544904-chr9_67290502 ./.NA587455980,4--.TRA126434_2NANAchr10_8544903-chr9_67290501