history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c|sort -rn|head -10
Explicación:
history muestra una lista de todos los comandos que hemos ejecutado recientemente (utilizado por bash y otras shells para mostrar el comando anterior y posterior al pulsar las teclas de flecha arriba y flecha abajo, al usar !! para ejecutar el comando anterior, etc) siendo los que tienen los números más pequeños los más antiguos.
Se utiliza awk para quedarnos con el comando en sí, sin argumentos ni flags. Utiliza sort para ordenar la lista de comandos alfabéticamente. Después uniq, que dada una lista en la que tenemos n líneas idénticas sucesivas deja sólo una de las líneas, añadiendo el número de líneas iguales que había antes (flag -c) al comienzo de la línea. Se vuelve a ordenar la lista de forma que la ordenación sea por el número de veces que se ejecutó el comando, que ahora es la primera cadena de la línea (-n para que sea ordenación numérica), y de mayor a menor (-r, reversed). Por último, se utiliza head para mostrar las 10 (-10) primeras líneas.
Publicar un comentario