Для цього ми використаємо записи з .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
і т.д.