![열 1은 동일하지만 열 2 값이 다른 두 파일의 데이터 병합 [중복]](https://linux55.com/image/73622/%EC%97%B4%201%EC%9D%80%20%EB%8F%99%EC%9D%BC%ED%95%98%EC%A7%80%EB%A7%8C%20%EC%97%B4%202%20%EA%B0%92%EC%9D%B4%20%EB%8B%A4%EB%A5%B8%20%EB%91%90%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EB%8D%B0%EC%9D%B4%ED%84%B0%20%EB%B3%91%ED%95%A9%20%5B%EC%A4%91%EB%B3%B5%5D.png)
열 1의 값은 동일하지만 열 2의 값이 다른 두 파일의 데이터를 병합해야 합니다.
파일에는 다음 데이터가 포함되어 있습니다.
AP 3492
BJ 4995
GJ 3810
MH 5800
UK 5148
UP 8096
두 번째 파일에는 데이터가 있습니다
AP 3372
BJ 4709
GJ 3728
MH 5403
UK 5154
UP 7724
이제 다음 형식의 데이터를 원합니다.
AP 3492 3372
BJ 4995 4709
GJ 3810 3728
MH 5800 5403
UK 5148 5154
UP 8096 7724
또한 이메일에 HTML 형식의 데이터가 필요합니다.
답변1
사용 join
명령:
join -j 1 file1 file2
-j 1
각 파일의 첫 번째 열을 사용하여 데이터를 일치시키는 방법입니다. 예를 들어 -1 3 -2 2
"첫 번째 파일의 열 3을 사용하여 두 번째 파일의 열 2와 일치시킵니다." 라고 지정할 수도 있습니다.
답변2
나는 답을 얻었다읽다. 파일이 다음과 같다고 가정합니다.a.txt그리고b.txt. 다음을 수행할 수 있습니다.
while read fp sp; do echo `grep $fp a.txt` $sp ; done < b.txt