Использование GNUdatamash
:
$ datamash -t, -g 1 collapse 2 < file.csv
71w - Rus,51200
71w - Phi,307200
71w - Ukr,307200,51200
71w - Mic,102400,51200
71w - Jul,256000,51200
71w - Pro,256000
71w - Uni,51200
71w - Ind,50176,40960
71w - Sin,358400
71w - May,20480
71w - Tha,512000,972800
71w - Bar,1280000,102400,2048000
71w - Upg,358400
71w - Leg,20480
71w - Res,153600
Отсортированный вывод с помощью-s
:
$ datamash -s -t, -g 1 collapse 2 < file.csv
71w - Bar,1280000,102400,2048000
71w - Ind,50176,40960
71w - Jul,256000,51200
71w - Leg,20480
71w - May,20480
71w - Mic,102400,51200
71w - Phi,307200
71w - Pro,256000
71w - Res,153600
71w - Rus,51200
71w - Sin,358400
71w - Tha,512000,972800
71w - Ukr,307200,51200
71w - Uni,51200
71w - Upg,358400
Описание вариантов:
-s
сортировать ввод перед группировкой -t,
использовать запятую в качестве разделителя полей -g 1
группа в первом поле collapse 2
коллапс на втором поле Взгляните на пример "свернуть" в руководстве .
Я скомпилировал последнюю версию coreutils из исходников, и мне все еще нужно использовать -p
для создания каталога с родителями:
$ src/mkdir --version
mkdir (GNU coreutils) 9.0.11-13af8
$ src/mkdir a/b
src/mkdir: cannot create directory ‘a/b’: No such file or directory
Таким образом, у вас либо есть псевдоним дляmkdir -p
(и, вероятно, также с -v
для подробного вывода, потому что mkdir -p
не печатает информацию о создании каталогов ), либо coreutils исправлен вашим дистрибутивом.