デフォルトでは、以下の例と同じ1/2百万行のテキストを含む書式を設定する文書があります。次のように2文字間のタブを削除する必要があります。
rs207460002 26 15579 T A
rs207459997 26 15615 G C
rs527236190 26 15637 T C
次のようになります。
rs207460002 26 15579 TA
rs207459997 26 15615 GC
rs527236190 26 15637 TC
どんな解決策でも大変感謝します!
注:これは5つのタブ列です。
ベストアンサー1
他のawk
方法:
awk '{cpy=$NF; NF--; print $0 cpy }' OFS='\t' infile
これは最後のフィールドのコピーを$NF
変数という名前にcpy
しNF--
、現在の入力行から最後のフィールドを削除します。その後、その後ろの行を$0
印刷します。指定$0
cpy
OFS='\t'
酸素出力F生産するS分割ツール。
またはsed
:
sed 's/\t\([A-Z]\)$/\1/' infile
これはabで一致するグループをキャプチャし、各行の\t
末尾に単一のアルファベット文字をキャプチャし、一致するアルファベット文字のみを逆に参照し、\1
代替部分では文字と\t
abのみを削除します。