将文件夹名称附加到文件的第一列

Attach foldername to first column of file

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

我想在所有文件 "test.txt" 上附加一个带有文件夹名称的附加第一列,如果最后合并到一个文件(它们都具有相同的 header 列). 不过,最重要的命令是合并。 我已经尝试了很多命令,但都不起作用,所以我想我错过了 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

我相信这可以解决问题:

$ cd mainfolder
$ awk '(NR==1){sub("#","#Samplename\t"); print}                # print header
       (FNR==1){next}                                          # skip header
       {print substr(FILENAME,1,match(FILENAME,"/")-1)"\t"[=10=] } # add directory
      ' */test.txt > /path/to/newfile.txt