Сравните и посчитайте в Ubuntu
У меня есть файл с 2 столбцами, как это:
Product Cost
ab 5
ab 7
bl 1
bl 8
ce 4
Я хочу найти "ab" и "bl", а затем нужно суммировать затраты для них и нужно показать, какая из них больше
Я пробовал (grep "ab" myfile | numsum -c 2) и (grep "bl" myfile | numsum -c 2), но не смог сравнить их сумму и вывести результат. Любая помощь?
1 ответ
$ awk '/ab|bl/{s[$1]+=$2} END{for (k in s) print "sum of",k,"is",s[k]; if (a["ab"]>a["bl"]) print "ab is greater"; else print "bl is greater";}' myfile
sum of ab is 12
sum of bl is 9
bl is greater
Как это устроено
/ab|bl/{s[$1]+=$2}
Для строк, содержащих ab или bl, столбец суммы 2.
После того, как мы закончили читать myfile, используйте
print
операторы для отображения результатов:END{ for (k in s) print "sum of",k,"is",s[k]; if (a["ab"]>a["bl"]) print "ab is greater" else print "bl is greater"; }