여러 파일에서 여러 열을 추출하여 하나의 테이블로 병합합니다.

여러 파일에서 여러 열을 추출하여 하나의 테이블로 병합합니다.

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

관련 정보