У меня была такая же проблема в Arch Linux 4.14.15 -1 с использованием XFCE на ноутбуке. Я зашел в редактор настроек и сбросил все настройки xfce4 -power -man на значения по умолчанию. Проблема ушла.
awk
создан для этого. Заполните массив (data
), индексированный первым полем ($1
), накапливая значения из второго поля ($2
). После заполнения массива выведите данные с помощью простого цикла for
. Направьте вывод через sort
для удобства.
awk '{data[$1]+=$2} END { for( d in data ) { print d, data[d] } }' input | sort
ST8000NC0002: 8
ST900MM0168: 2
ST9300603SS: 3
ST9300605SS: 4
ST9500620SS: 3
WD1003FBYX: 7
WD1500HLFS: 4
WD9001BKHG: 14
Использование GNUdatamash
:
datamash -W -g 1 sum 2 < file
-W
использовать пробелы (пробелы/табуляции )в качестве разделителя полей (вместо табуляции)-g 1
группа в первом поле sum 2
сумма значений во втором поле (на группу)Выход:
ST8000NC0002: 8
ST900MM0168: 2
ST9300603SS: 3
ST9300605SS: 4
ST9500620SS: 3
WD1003FBYX: 7
WD1500HLFS: 4
WD9001BKHG: 14
Это работает нормально, так как ваш ввод уже отсортирован по первому полю. Для несортированного ввода добавьте опцию -s
для сортировки ввода перед группировкой.