Сравнить столбцы двух файлов

Сравнить столбцы двух файлов

Файл1:

judi /export/home 76
judi /usr 83

Файл2:

judi /export/home 79
judi /usr 82

если COLUMN3 файла File2 больше, чем COLUMN3 файла File1, команда должна вывести строку файла 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

Связанный контент