Saya baru saja melihat posting ini di http://linux.byexamples.com/
Pada dasarnya Anda menggunakan skrip awk satu baris sederhana
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
Penjelasan lengkapnya bisa dilihat di link di atas.
Contoh out put pada mesin saya adalah:
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
awk '{print $1}' ~/.bash_history | sort | uniq -c | sort -n
Perintah awk akan mencetak string pertama dari ~/.bash_history (tidak menampilkan opsi atau argumen perintah), lalu sort akan mengurutkan semua baris menurut abjad, lalu "uniq -c" akan menghapus baris duplikat (perintah yang Anda ketikkan) dan menghitungnya, dan pengurutan terakhir akan mengurutkan perintah Anda dengan jumlah hitungan yang dikembalikan oleh uniq.
Anda dapat menggunakan hash
perintah di terminal Anda, yang menyimpan entri hash dari setiap perintah yang Anda gunakan bersama dengan jumlah klik dan berdasarkan klik Anda dapat mengurutkan dan memprosesnya.
Lihat artikel ini untuk informasi lebih lanjut.