сравнить значения в файлах - PullRequest
0 голосов
/ 30 октября 2018

Я новичок в командах Linux. Помогите мне с командой / скриптом с объяснением return 1, если значения (field2) 1 файла меньше, чем значение (field2) в другом файле else return 0

Введите:

file1.txt

AA 90  
BB 80.60  
CC 60.50

file2.txt

AA 98.60  
BB 88.76  
CC 100.90

Выход: file3.txt

AA 1  
BB 1  
CC 1

1 Ответ

0 голосов
/ 30 октября 2018

Использование awk:

$ awk 'NR==FNR{a[$1]=$2;next}($1 in a){print $1, a[$1]<$2}' file1 file2

Выход:

AA 1
BB 1
CC 1

Объяснил некоторые:

$ awk '                 # using awk
NR==FNR {               # process first file
    a[$1]=$2            # hash to a, $1 is the key
    next                # process the next record
}                       # second file processing follows
($1 in a) {             # if $1 was present in file1
    print $1, a[$1]<$2  # print $1 and 0/1 whether file1 entry was less or not
}' file1 file2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...