서로 다른 파일의 두 열 합산

서로 다른 파일의 두 열 합산

다음과 같은 두 개의 파일이 있습니다.

파일 1:

-54.005 -67.405 0.1

-54.05 -68.7833 0.2

-54.05 -68.7333 0.3

파일 2:

-54.005 -67.4050 70 12.7

 -54.05 -68.7833 167 12.5

 -54.05 -68.7333 205 12.6

다음 출력과 함께 열 3을 file1열 4에 추가하는 파일이 필요합니다 .file2

-54.005 -67.4050 70 12.8

 -54.05 -68.7833 167 12.7

 -54.05 -68.7333 205 12.9

다음 명령을 사용해 보았습니다.

cat file1 | awk '{n=$3; getline <"file2"; print "" $1,$2,$3,n+$4}' > output.txt

하지만 작동하지 않았고 이 사이트에서 이런 유형의 답변을 찾을 수 없었습니다.

답변1

두 개의 파일을 하나로 병합하는 도구가 있습니다.텍스트 파일을 하나로 결합

paste file1 file2 | awk '{ print $3 + $13; }'

다른 열을 추가합니다. 단, 파일 2의 열은 $10으로 시작합니다.

답변2

awk에서 NR 및 FNR을 사용할 수 있습니다.

awk 'FNR==NR { _a[FNR]=$3;} NR!=FNR { $4 += _a[FNR]; print;  }'  file1 file2

관련 정보