Подсчитывать уникальные строки только по заданному шаблону

@ EightBitTony ответ правильный. Также он не существует по умолчанию в Fedora 23.

Не не полагайтесь на него для определения случайных систем. Я бы использовал / etc / system-release или / etc / os-release , но не уверен, насколько это универсально.

Немного чтения / etc / os-release идет с systemd , поэтому я думаю, не будет работать с архаичными дистрибутивами (или любыми, которые ненавидят systemd ) . Не удалось найти достоверную информацию о / etc / system-release . Думаю, нужно проверять много файлов, если важна совместимость. Или используйте / etc / os-release , если крайние случаи не важны.

1
23.05.2017, 15:40
2 ответа

cut -f1 -d'- 'inputfile | сортировать | uniq -c

cut -f1 -d '-' будет рассматривать файл как разделенный тире и возвращать только первый столбец в каждой строке.

sort необходим для правильной работы uniq .

uniq -c показывает только уникальные строки из отсортированного ввода, включая счетчик.

5
29.04.2021, 00:03
awk -F- 'NF>1 {count[$1]++}
         END {for (i in count) print i, count[i]}'
3
29.04.2021, 00:03

Теги

Похожие вопросы