Danke shiro,
ich möchte Deine folgende Variante versuchen:
... Sichern des $HISTFILE und Abändern des Timestamp von %s (Anzahl Sekunden seit dem 01.01.70) in eine leichter lesbare Form (z.B. %F %T). Hierbei wird die History-Datei abgeändert. Dies kannst du allerdings auch bereits bei der Sicherung machen. Also:
$ # Speicherung der Information in ".bashrc" $ cat <<*EOF* >>~/.bashrc HISTTIMEFORMAT="%F %T | " alias cathist='sed "s/^#\(.*\)/date -d@\1 \"+$HISTTIMEFORMAT\"/e;N;s/\n//"' hh() { HISTTIMEFORMAT="%F %T | " history "$@" | sed 's#^ *[0-9]\+ *##'; } *EOF* $ # Inhalt aus .bashrc aktivieren $ . ~/.bashrc $ # Sicherung der aktuellen History $ history -a $ cp $HISTFILE sicherung.bash_history # Historie sichern und $ cathist sicherung.bash_history # anzeigen. Natürlich kannst du auch gleich konvertieren mit $ cathist $HISTFILE >sicherung.formated # oder $ hh >sicherung.formated $ cat sicherung.formated # Das Anzeigen mit less geht auch
Ist es richtig, wenn ich meine .bashrc um Deine ersten Zeilen ergänze, also:
export HISTTIMEFORMAT="%d.%m.%Y %T " # aktueller Code, Zeile LÖSCHEN export > HISTTIMEFORMAT="%F %T | " # neu hinzu shopt -s histappend # aktueller Code export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND" # aktueller Code alias cathist='sed "s/^#\(.*\)/date -d@\1 \"+$HISTTIMEFORMAT\"/e;N;s/\n//"' # neu hinzu: Alias definieren hh() { HISTTIMEFORMAT="%F %T | " history "$@" | sed 's#^ *[0-9]\+ *##'; } # neu hinzu: Alias definieren
?