Как получить самые используемые команды в истории (полное руководство)

history | perl -F"\||<\(|;|\`|\\$\(" -alne 'foreach (@F) { print $1 if /\b((?!do)[a-z]+)\b/i }' | sort | uniq -c | sort -nr | head


Эта команда выводит самые часто используемые команды в истории выполненных команд в терминале.

Объяснение:
history выводит список выполненных в терминале команд с номерами.
perl запускает интерпретатор скриптов Perl.
-F"\||<\(|;|\|\\$\(« задает разделитель для Perl - символы |, <, (, ;, ` и \$(.
-
-alne указывает Perl разбить каждую строку на элементы массива, удалить символы новой строки, разбивать каждый элемент массива по пробелам и прочитывать файл построчно.
-
‘foreach (@F) { print $1 if /\b((?!do)[a-z]+)\b/i }’ проходит циклом по каждому элементу массива и печатает только те, которые соответствуют регулярному выражению.
-
sort сортирует список команд.
-
uniq -c подсчитывает количество уникальных команд.
-
sort -nr сортирует команды по количеству использований в обратном порядке.
-
head выводит первые несколько строк, в данном случае самые часто используемые команды.

Альтернативный подход может быть использован для анализа файла истории команд или использования специализированных инструментов для анализа истории команд, таких как awk, grep` или сценариев оболочки. Передаваемые аргументы команде необходимы для обработки и разделения команд в истории.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *