두 개의 파일이 있고 일부 특정 열이 동일한 경우 하나의 열을 제외한 모든 필드가 포함된 행을 내보내는 방식으로 파일을 병합하고 싶습니다. 이는 특정 열의 두 파일을 모두 빼는 것입니다.
예를 들어 다음과 같은 두 개의 파일이 있고 1열부터 3열까지 동일한 행을 출력하려고 하는데 4열은 파일(파일 1 - 파일 2)의 4열에 있는 두 값을 뺀 값과 같습니다.
파일 1:
10 20 30 50
100 200 300 850
150 250 350 900
.....
파일 2:
100 200 300 840
15 25 35 55
150 250 350 880
....
산출:
100 200 300 10
150 250 350 20
....
답변1
awk를 사용하세요:
$ awk '{k = $1 FS $2 FS $3} NR==FNR {a[k] = $4; next} k in a {print k, a[k]-$4}' File1 File2
100 200 300 10
150 250 350 20