0

我有一个文件列表,这些文件确实具有相同的文件名但位于不同的子文件夹中。文件中的值用制表符分隔。

我想在所有文件“test.txt”中附加一个带有文件夹名称的附加第一列,如果最后合并到一个文件(它们都有相同的列标题)。最重要的命令是合并。我现在尝试了许多不起作用的命令,所以我想我错过了 awk 的重要步骤......

目前的结构是:

mainfolder

    |_>Folder1
       |_>test.txt
    |->Folder2
       |_>test.txt
    .
    .
    .

这是我想在合并所有文件之前访问每个文件的地方,

#Name   Count   FragCount   Type    Left    LeftB   Right   RightB  Support FRPM    LeftBD  LeftBE  RightBD RightBE annots
RFP1A   13  10  REF RFP1A_ins   chr3:3124352:+  RFP1A_ins chr3:5234143:+ confirmed  0.86    TA 1.454    AC 1.564 ["INTRACHROM."]

#Samplename #Name   Count   FragCount   Type    Left    LeftB   Right   RightB  Support FRPM    LeftBD  LeftBE  RightBD RightBE annots
Sample1 RFP1A   13  10  REF RFP1A_ins   chr3:3124352:+  RFP1A_ins chr3:5234143:+ confirmed  0.86    TA 1.454    AC 1.564 ["INTRACHROM."]

非常感谢!!

D

4

1 回答 1

0

我相信这可能会奏效:

$ cd mainfolder
$ awk '(NR==1){sub("#","#Samplename\t"); print}                # print header
       (FNR==1){next}                                          # skip header
       {print substr(FILENAME,1,match(FILENAME,"/")-1)"\t"$0 } # add directory
      ' */test.txt > /path/to/newfile.txt
于 2018-05-29T15:33:34.373 回答