두 파일의 차이점 찾기

두 파일의 차이점 찾기

아래와 같은 두 개의 파일이 있습니다: file1.txt

a 2019 15
b 2019 20

파일2.txt

a 2020 10
b 2019 15

file1.txt 및 diff의 원하는 출력 내용 세 번째 열(file1 및 file2에서) 파일 1의 첫 번째 열에 대해)

  a 2019 5
  b 2019 5

답변1

이를 수행하는 단일 라이너는 다음과 같습니다.

join file1.txt file2.txt | awk '{print $1,$2,$3-$5}'

join명령은 먼저 다음과 같이 관련 값을 같은 줄에 함께 배치합니다.

[gnubeard@mothership: ~/diffy]$ join file{1,2}.txt
a 2019 15 2020 10
b 2019 20 2019 15

그런 다음 awk첫 번째 열( $1, eg a), 두 번째 열( $2, eg 2019), 3번째 열의 값에서 5번째 열의 값( $3-$5, eg 15 - 10.) 을 뺀 값을 인쇄합니다.

결과는 원하는 출력과 일치하는 것으로 나타납니다.

[gnubeard@mothership: ~/diffy]$ join file{1,2}.txt | awk '{print $1,$2,$3-$5}'
a 2019 5
b 2019 5

관련 정보