次のgzip圧縮ファイルがあります。
1 rs571093408 rs571093408 13380 C G
最初の列と4番目の列を中間列とマージ:
し、2番目の列を新しいコンテンツに置き換えようとしているので、出力は次のようになります。
1 1:13380 rs571093408 13380 C G
入力はgzip圧縮ファイルで、出力ファイルはgzip圧縮で作成したいと思います。
ベストアンサー1
このコマンドを使用して、gzip圧縮ファイルの内容を印刷できますzcat
。
したがって、ソースファイルを印刷してくださいfile1.gz
。
$ zcat file1.gz
1 rs571093408 rs571093408 13380 C G
2 rs200000002 rs222222222 12222 D E
3 rs300000003 rs333333333 13333 F K
実行する1つのライナー:
$ zcat file1.gz|awk '{print $1" "$1":"$4,$3,$4,$5,$6}'|gzip > file2.gz
file2.gz
結果ファイルの内容を印刷します。
$ zcat file2.gz
1 1:13380 rs571093408 13380 C G
2 2:12222 rs222222222 12222 D E
3 3:13333 rs333333333 13333 F K
直す。以下のコメントに基づいて改善されたバージョンを追加します。
$ zcat file1.gz|awk '{$2=$1":"$4}1'|gzip > file2.gz