![여러 번 나타나는 열 식별자를 포함하는 두 테이블 병합](https://linux55.com/image/55850/%EC%97%AC%EB%9F%AC%20%EB%B2%88%20%EB%82%98%ED%83%80%EB%82%98%EB%8A%94%20%EC%97%B4%20%EC%8B%9D%EB%B3%84%EC%9E%90%EB%A5%BC%20%ED%8F%AC%ED%95%A8%ED%95%98%EB%8A%94%20%EB%91%90%20%ED%85%8C%EC%9D%B4%EB%B8%94%20%EB%B3%91%ED%95%A9.png)
두 테이블을 병합하고 싶습니다.
파일 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