두 파일의 열 비교

두 파일의 열 비교

파일1:

judi /export/home 76
judi /usr 83

파일2:

judi /export/home 79
judi /usr 82

File2의 COLUMN3이 File1의 COLUMN3보다 크면 명령은 File2의 행을 인쇄해야 합니다. 예를 들어, 위 파일의 경우 명령은 다음을 인쇄해야 합니다.

judi /export/home 79 

그리고 다음은 아닙니다:

judi /usr 82

답변1

사용 awk:

awk 'NR==FNR{x[NR]=$3}{if($3>x[FNR]){print}}' File1 File2
  • NR==FNR{x[NR]=$3}: 현재 레코드 번호가 현재 파일 레코드 번호와 같은 경우(즉, 첫 번째 파일을 처리하는 중) 세 번째 필드의 값을 에 할당합니다 x[NR].
  • {if($3>x[FNR]){print}}: 세 번째 필드가 보다 크면 x[FNR]레코드를 인쇄합니다.
% cat File1
judi /export/home 76
judi /usr 83
% cat File2
judi /export/home 79
judi /usr 82
% awk 'NR==FNR{x[NR]=$3}{if($3>x[FNR]){print}}' File1 File2
judi /export/home 79

관련 정보