Создание полного и отсортированного в алфавитном порядке .txt-файла истории bash

Создание полного и отсортированного в алфавитном порядке .txt-файла истории bash

Я хочу иметь полный и отсортированный список моей истории bash. Но есть некоторые проблемы:

  1. При выполнении historyэтого действия список никогда не отображается полностью, а отображаются только 1000 команд.
  2. В моем$ДОМОЙкаталоге есть файл с именем.bash_history который показывает 2000 результатов.
  3. Когда я хочу сделать сортировку.текст файл из моей истории я делаю:

    history | sort > History.txt
    

    Но из-за номеров команды не сортируются в алфавитном порядке, а сортируются по номерам.

Есть ли способ сделать то, что я хочу?

решение1

sortможно сортировать ввод по полю, указанному пользователем -k, так что, строго говоря, что-то вроде этого — это то, что вы ищете.

history | sort -k2 > History.txt  # or -K3 if you have $HISTTIMEFORMAT, etc set

Кроме того, часто существует разница между тем, что доступно в выходных данных historyкоманды, и тем, что записано, ~/.bash_historyпоскольку последнее не обновляется после каждой команды (обычно обновляется только при выходе из системы), поэтому использование history | sort ..лучше для предоставления вам текущего представления.

решение2

Как насчет:

cat ~/.bash_history | sort > Sorted_history.txt

Чтобы иметь неограниченную историю bash, взгляните на этот QA:

https://stackoverflow.com/questions/9457233/неограниченная-история-баша

Связанный контент