我有近 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