여러 번 나타나는 열 식별자를 포함하는 두 테이블 병합

여러 번 나타나는 열 식별자를 포함하는 두 테이블 병합

두 테이블을 병합하고 싶습니다.

파일 1:

1 오늘
2 내일
3 빨간색

파일 2:

1 많이
1 가끔
2 직장에서
2 집에서
2 가끔
3 새로

예상 출력(파일 3):

1 오늘 많이
1 오늘 가끔
2 내일 출근
2 내일 집에
2 내일 가끔
3 빨간색 새

나는 다음을 생각해 냈습니다.

awk -F '[\t]' -v OFS='\t' '{i=$1;$1=x} NR==FNR{A[i]=$0;next} A[i]{print i,$0A[i]}' file2 file1 > file3

그러나 그것은 나에게만 제공합니다:

1 오늘 가끔
2 가끔 내일
3 빨간색 새

답변1

awk특별히 솔루션이  필요합니까 ? join file1 file2 > file3당신이 원하는 것을 할 것입니다.

답변2

노력하다:

$ awk 'FNR==NR{a[$1]=$2;next};{$1 = $1"\t"a[$1]}1' OFS='\t' file1 file2
1   today   a lot
1   today   sometimes
2   tomorrow    at  work
2   tomorrow    at  home
2   tomorrow    sometimes
3   red new

관련 정보