約1000個の列を含む大きなファイルがあります。最初の2つの列は染色体とSNP(単一塩基多型)の位置であり、残りはサンプルです。最初の数行は次のとおりです。
#CHROM POS P0431 P432 P433 P434 P435
Chr01 180349 G G G N G
Chr01 180372 N N N N A
Chr01 180389 A N A N N
このデータセットには3つの異なるグループのサンプルがあり、それらを別々に別々のファイルに保存したいと思います。
これは十分なgroup1 IDを持つファイルです。
$ head group1
P0431
P434
P435
したがって、マスターデータからこれらのサンプルを見つけてgroup1.dataとして保存したいと思います。
$ head group1.data
#CHROM POS P0431 P434 P435
Chr01 180349 G N G
Chr01 180372 N N A
Chr01 180389 A N N
ベストアンサー1
入力区切り文字としてスペース(複数)を想定し、csvcut
and csvformat
fromを使用します。csvkit
$ csvcut -d' ' -S -c "#CHROM,POS,$(paste -sd, < group1)" group1.data | csvformat -T
#CHROM POS P0431 P434 P435
Chr01 180349 G N G
Chr01 180372 N N A
Chr01 180389 A N N