sed -e "s/| /\n/g" ~/.bash_history | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head
Эта команда выполняет следующие действия:
1. sed -e "s/| /\n/g" ~/.bash_history
— Заменяет символ «|» на новую строку в файле ~/.bash_history.
2. cut -d ' ' -f 1
— Вырезает первое слово из каждой строки, используя пробел как разделитель.
3. sort
— Сортирует полученные слова по алфавиту.
4. uniq -c
— Подсчитывает количество уникальных слов и выводит их с числом повторений.
5. sort -nr
— Сортирует уникальные слова по убыванию числа повторений.
6. head
— Выводит первые 10 строк, то есть 10 наиболее часто используемых программ в истории команд.
Альтернативы: Вместо cut
, можно использовать awk '{print $1}'
, что даст аналогичный результат.