Eu mesmo tenho um pequeno script para verificar quais são os principais N comandos que tenho usado ultimamente:
mylast () {
re='^[0-9]+$'
if ! [[ =~ $re ]] ; then
echo "error: not a number" >&2
else
history | awk '{a[]++} END {for (i in a) print a[i], i}' | sort -rn | head -n
fi
}
Então, dizendo mylast 10
, ele mostra o top 10.
Isso é feito percorrendo o histórico e armazenando o segundo campo em awk
, para que a contagem possa ser rastreada por meio de um array.
Exemplo de saída:
$ mylast 5
248 git
107 python
93 grep
71 awk
52 less