
파일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