特定の列を除くすべての列のパターンを置き換える

特定の列を除くすべての列のパターンを置き換える

最初の列を除くすべての列の「コロン」を変更したいと思います。

]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

おすすめ記事