Как подсчитать количество вхождений в списке, а затем отсортировать их по убыванию?

iptableses un módulo del kernel, no un proceso. puede usar lsmodpara ver las distintas partes si están compiladas como módulos cargables para su kernel

lsmod | grep tabl

0
15.07.2019, 17:03
2 ответа

Вы просто пропустили sort -b -nв конце конвейера (как еще один его этап):

awk '{ print $5 }' FILE  | sort | uniq -c | sort -b -n

sort -b -nбудет сортировать строки, созданные на более ранних этапах конвейера, численно (, игнорируя начальные пробелы ). Если две строки имеют одинаковый номер в начале, будет выполнен лексикографический порядок строк.

1
28.01.2020, 02:29

Просто отсортируйте еще раз по столбцу. Используя -k1 сортирует по первому столбцу (вхождения ), используя -k2 сортирует по второму столбцу (значения):

awk '{print $5}' FILE | sort | uniq -c | sort -k1   # Sort by ascending occurrences
awk '{print $5}' FILE | sort | uniq -c | sort -k2   # Sort by ascending values

Если нужно в порядке убывания (-r):

awk '{print $5}' FILE | sort | uniq -c | sort -k1 -r   # Sort by descending occurrences
awk '{print $5}' FILE | sort | uniq -c | sort -k2 -r   # Sort by descending values
1
28.01.2020, 02:29

Теги

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