हम .bash_historyऐसा करने के लिए फ़ाइल से रिकॉर्ड का उपयोग करेंगे । अगला आदेश आपको सभी आदेशों की एक सूची देगा, जिसमें आपने उन्हें सबसे अधिक बार उपयोग किया है:
history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr
यदि आप केवल शीर्ष 10 चाहते हैं, तो आपको headऊपर दिए गए आदेश में जोड़ना होगा :
history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr | head
एक विशिष्ट शीर्ष पाने के लिए, उदाहरण के लिए शीर्ष 5, विकल्प के headसाथ उपयोग करें -n 5:

यदि आप रिवर्स ऑर्डर में सूची चाहते हैं (शीर्ष पर शायद ही कभी उपयोग किए गए आदेशों के साथ), rदूसरे के लिए oprion का उपयोग न करें sort:
history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -n
और अंत में उदाहरण के लिए एक बार उपयोग किए गए आदेशों के साथ एक सूची प्राप्त करने के लिए, उपयोग grep ' 1 '( 1वांछित संख्या के साथ परिवर्तन ):
history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | grep ' 1 '
sudoकमांड के साथ (जैसे sudo vim foo), केवल {print $3}awk कमांड में, उपयोग करने के लिए:
{if($3 ~ /sudo/) print $4; else print $3}
तो पूरा कमांड ऐसा दिखेगा:
history | awk 'BEGIN {FS="[ \t]+|\\|"} {if($3 ~ /sudo/) print $4; else print $3}' | sort | uniq -c | sort -nr
उदाहरण के लिए:
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr | head
284 vim
260 git
187 find
174 man
168 echo
149 rm
134 awk
115 pac
110 sudo
102 l
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {if($3 ~ /sudo/) print $4; else print $3}' | sort | uniq -c | sort -nr | head
298 vim
260 git
189 find
174 man
168 echo
153 rm
134 awk
115 pac
102 l
95 cd
आप के लिए मायने रखता है में कूद देख सकते हैं vim, rmआदि