На этот вопрос уже есть ответ здесь:
Есть ли способ узнать 10 самых популярных команд в истории? Здесь топ-10 означает команды, которые я использовал большую часть времени, то есть команды, количество использованных которых больше, чем у других.
У меня есть немного сценария самого, чтобы проверить то, что является вершиной N команды, которые я использовал в последнее время:
mylast () {
re='^[0-9]+ Так, говоря mylast 10
это показывает лучшие 10.
Это сделано, пройдя историю и храня 2-ю область в в awk
, так, чтобы за количеством могли следить через множество.
Типовая продукция:
$ mylast 5
248 git
107 python
93 grep
71 awk
52 less
if ! [[ $1 =~ $re ]] ; then
echo "error: $1 not a number" >&2
else
history | awk '{a[$2]++} END {for (i in a) print a[i], i}' | sort -rn | head -n $1
fi
}
Так, говоря mylast 10
это показывает лучшие 10.
Это сделано, пройдя историю и храня 2-ю область в в awk
, так, чтобы за количеством могли следить через множество.
Типовая продукция:
$ mylast 5
248 git
107 python
93 grep
71 awk
52 less
Одна линия:
history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10
Пример произвел:
1 211 21.1% ls
2 189 18.9% sudo
3 58 5.8% man
4 52 5.2% cd
5 43 4.3% ping
6 40 4% apropos
7 34 3.4% less
8 22 2.2% cat
9 18 1.8% which
10 18 1.8% aspell
Этот место предоставляет немного больше информации.