将标题从列文本文件添加到另一个文件

将标题从列文本文件添加到另一个文件

我有一个制表符分隔的列文本,如下所示

文本1

A  CD274    PDCD1LG2  CD276   PDCD1LG2  CD274 .......
B  NEK2     NEK6      NEK10   NEK10     NEKL-4 ......
C  TNFAIP3  OTUD7B    OTUD7B  TNFAIP3   TNFAIP3......
D  DUSP16   DUSP4     DUSP8   VHP-1     DUSP8........
E  AGO2     AGO2      AGO2    AGO2      AGO2.........

文本2

header1
header2
header3
header4
.
.
.

我怎样才能给出如下所示的标题

   header1    header2  header3   header4  header5
A  CD274    PDCD1LG2  CD276   PDCD1LG2  CD274
B  NEK2     NEK6      NEK10   NEK10     NEKL-4
C  TNFAIP3  OTUD7B    OTUD7B  TNFAIP3   TNFAIP3
D  DUSP16   DUSP4     DUSP8   VHP-1     DUSP8
E  AGO2     AGO2      AGO2    AGO2      AGO2

答案1

方式 :

awk '
    {
        if (NR!=FNR) {
            if (FNR==1) {
                printf "\t"
                for (i in arr){printf "%s\t", arr[i]}
                print ""
            }
            print
        }
        else{
            arr[c++]=$1
        }
    }
' file2 file1

答案2

printf+paste解决方案:

printf "\t%s\n" "$(paste -sd'\t' file2)" && cat file1

示例输出:

    header1 header2 header3 header4 header5
A   CD274   PDCD1LG2    CD276   PDCD1LG2    CD274   
B   NEK2    NEK6    NEK10   NEK10   NEKL-4  
C   TNFAIP3 OTUD7B  OTUD7B  TNFAIP3 TNFAIP3
D   DUSP16  DUSP4   DUSP8   VHP-1   DUSP8
E   AGO2    AGO2    AGO2    AGO2    AGO2

相关内容