
次のファイルがあります。
head 1kG_MDS6.bim
1 rs2073813 0 753541 A G
1 rs60320384 0 769223 G C
1 rs59066358 0 771967 A G
...
「:」で区切られた最初、4番目、6番目、5番目の列を順番に連結したいと思います。
したがって、出力は次のようになります。
1:753541:G:A
1:769223:C:G
1:771967:G:A
私はこれを試しました:
awk ' { print $1 $4 $6 $5 ":" $NF } ' 1kG_MDS6.bim > 1kG_MDS6_SNPs1.txt
しかし、最後の2つの列":"とのみ結合されます。
答え1
出力フィールド区切り文字を使用します。
awk 'BEGIN{OFS=":"} {print $1,$4,$6,$5}' file
出力:
1:753541:G:A 1:769223:C:G 1:771967:G:A
答え2
printfを使う
awk ' { printf "%s:%s:%s:%s\n",$1,$4,$6,$5; } '
どこ
%s
一致するパラメータを文字列に置き換えます。\n
処理された各行に改行文字が追加されます。