Erstellen einer vollständigen und alphabetisch sortierten TXT-Datei des Bash-Verlaufs

Erstellen einer vollständigen und alphabetisch sortierten TXT-Datei des Bash-Verlaufs

Ich möchte eine vollständige und sortierte Liste meines Bash-Verlaufs haben. Es gibt jedoch einige Probleme:

  1. Dabei historywird nie die vollständige Liste angezeigt, sondern es werden immer nur 1000 Befehle angezeigt.
  2. In meinem$HOMEVerzeichnis gibt es eine Datei mit dem Namen.bash_history das zeigt 2000 Ergebnisse.
  3. Wenn ich eine sortierte.txt Datei aus meinem Verlauf mache ich:

    history | sort > History.txt
    

    Aufgrund der Nummern werden die Befehle jedoch nicht alphabetisch, sondern nach Nummern sortiert.

Gibt es eine Möglichkeit, das zu tun, was ich möchte?

Antwort1

sortkönnen Eingaben nach dem vom Benutzer angegebenen Feld sortieren -k, also wäre so etwas strenggenommen das, wonach Sie suchen.

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

Darüber hinaus besteht häufig ein Unterschied zwischen dem, was in der Befehlsausgabe verfügbar ist, historyund dem, was in aufgezeichnet ist. ~/.bash_historyLetzteres wird nicht nach jedem Befehl aktualisiert (wird normalerweise nur beim Abmelden aktualisiert). Daher history | sort ..bietet Ihnen die Verwendung besser eine aktuelle Ansicht.

Antwort2

Wie wäre es mit:

cat ~/.bash_history | sort > Sorted_history.txt

um einen unbegrenzten Bash-Verlauf zu haben, sehen Sie sich diese QA an:

https://stackoverflow.com/questions/9457233/unlimited-bash-history

verwandte Informationen