
文件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