열 텍스트 파일의 헤더를 다른 파일에 추가

열 텍스트 파일의 헤더를 다른 파일에 추가

아래와 같이 탭으로 구분된 열 텍스트가 있습니다.

텍스트 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

관련 정보