複数のファイルから複数の列を抽出し、1つのテーブルにマージします。

複数のファイルから複数の列を抽出し、1つのテーブルにマージします。

500に近いファイルがあり、各ファイルには120を超える列があり、その一部は空です。

hghflf.maf
lnuegflkn.maf
jdfrlbvfl11.maf
jkfbrhw4rkb4.maf
.... 

以下は、最初の数列(合計148列)のデータヘッダーの例です。

  Hugo_Symbol Entrez_Gene_Id Center NCBI_Build Chromosome Start_Position
1     Unknown              0      .     GRCh38       chr2        4871838
2    RNU5E-7P              0      .     GRCh38       chr2       15866667
3      CAPN13              0      .     GRCh38       chr2       30736899
4     Unknown              0      .     GRCh38       chr2       35346478

1、4、5列のみを抽出し、各ファイルに対して最後の列(column43 + column41 / column43)(この列は例には示されていません)を作成し(合計4列)、すべてのファイルに対してマージしたいと思います。テーブルとして。何をすべきか知っていますか?


[編集]column -t読みやすくするために解析されました:

Hugo_Symbol  Entrez_Gene_Id  Center  NCBI_Build  Tumor_Sample_Barcode  Chromosome  Start_Position  Reference_Allele  Tumor_Seq_Allele2  Reference_Allele
Unknown      0               .       GRCh37      10-26934N             2           181552          T                 C                  T
Unknown      0               .       GRCh37      10-26934N             2           2742215         G                 A                  G
PQLC3        0               .       GRCh37      10-26934N             2           11291948        C                 T                  C
MIR3681HG    0               .       GRCh37      10-26934N             2           12522789        C                 A                  C
AC010880.1   0               .       GRCh37      10-26934N             2           16536811        C                 G                  C
Unknown      0               .       GRCh37      10-26934N             2           17111275        A                 C                  A
Unknown      0               .       GRCh37      10-26934N             2           19044748        A                 -                  A
Unknown      0               .       GRCh37      10-26934N             2           19114714        A                 G                  A
AC018742.1   0               .       GRCh37      10-26934N             2           21935272        T                 C                  T

ベストアンサー1

使用awk:

awk 'NR==1{ print $1, $4, $5, "Median" }
     FNR>1{ print $1, $4, $5, ($41+$43)/$43 }' ./multiple-files* >single-table-output

おすすめ記事