2番目の列の内容を2つの列に分割する必要がありますfile
。たとえば、次のようになります。
Id allele id2
30 TC 12
211 GG 12
327 AA 13
688 TC 15
760 TT 18
868 CC 90
出力は次のようになります。
Id allele1 allele2 id2
30 T C 12
211 G G 12
327 A A 13
688 T C 15
760 T T 18
868 C C 90
ベストアンサー1
そしてawk
:
awk 'NR==1{$2=$2"1 "$2"2"} NR!=1{split($2,a,""); $2=a[1]" "a[2];}1' file
NR==1
最初の行にのみ適用$2=...
:2番目のフィールドをタイトルに再フォーマットします。allele1 allele2
NR!=1
他のすべての行に適用されます。split($2,a,"")
$2
配列の2番目のフィールドの分割a
$2=a[1]" "a[2];
:2つの分割値を使用しa[1]
、2番目のフィールドの形式を再指定しますa[2]
。
1
最後の条件がtrueで、awk
行全体(アクション)が印刷されます。
列にリストするには、これを使用しますawk ... | column -t
。出力は次のとおりです。
Id allele1 allele2 id2
30 T C 12
211 G G 12
327 A A 13
688 T C 15
760 T T 18
868 C C 90