Frage

Problem: die folgenden Zeitstempel verstehen

1241036430

bei ~ / .history

: 1241036336:0;vim ~/.zshrc
: 1241036379:0;vim ~/bin/HideTopBar
: 1241036421:0;ls
: 1241036430:0;cat ~/.history

, wenn ich

setopt EXTENDED_HISTORY
HISTFILE=~/.history

in .zshrc.

Wie kann man lesen Sie die Zeitstempel?

War es hilfreich?

Lösung

Diese einfache util , genannt localtime ist Gold für Dateien mit dem Lesen Zeitstempel:

#!/usr/bin/perl
# http://perl.plover.com/classes/mybin/samples/source/localtime

if ($ARGV[0] eq '-f') {
  *show_localtime = \&show_localtime_list;
  shift;
}

if (@ARGV) {
  for (@ARGV) {
    print show_localtime($_), "\n";
  }
} else {
  while (<>) {
    s/^(\d+)/show_localtime($1)/e;
    print;
  }
}


sub show_localtime {
  my $t = shift;
  scalar localtime $t;
}

sub show_localtime_list {
  my $t = shift;
  my @a = localtime $t;
  "@a\n"
}

Es behandelt viele Fälle, und scheint beiden Zeitstempel in Sekunden und Mini-Sekunden zu verstehen, etc.

$ localtime < ~/.histfile
<snip>
: Sat Sep 17 05:55:17 2016:0;cat localtime

Andere Tipps

Versuchen history -d. Oder einfach nur history - und drücken Steuer-D geben, all die verschiedenen Optionen zu erhalten:

% history -
-D  -- print elapsed times
-E  -- dd.mm.yyyy format time-stamps
-d  -- print time-stamps
-f  -- mm/dd/yyyy format time-stamps
-i  -- yyyy-mm-dd format time-stamps
-m  -- treat first argument as a pattern
-n  -- suppress line numbers
-r  -- reverse order of the commands

Sie können mit den Menschen lesbaren Zeitstempel mit diesen Einzeiler von eine Antwort auf die zsh Mailingliste :

perl -lne 'm#: (\d+):\d+;(.+)# && printf "%s :: %s\n",scalar localtime $1,$2' $HISTFILE

Ich würde empfehlen, die Ausgabe auf einen Pager (less zum Beispiel) Rohrleitungen, um es besser lesbar.

Adendum: Sie können den history Befehl selbst Zeitstempel in gespeichert History-Dateien als auch gefunden zu übersetzen:

Die Optionen zum history Befehl wie von Nicholas Riley erklärt gelten genauso gut gespeichert History-Dateien, so history -d < historyfile (oder eine der anderen Optionen) übersetzt die Zeitstempel in Ordnung.

Das ist praktisch, wenn Sie mehr als nur eine History-Datei mit - ich Setup zsh habe eine History-Datei pro pty zu halten Historien von Schalen parallel Vermischung zu vermeiden, auf demselben System ausgeführt wird (da in der Regel jeden Fenster / screen / ... ist insbesondere auf eine bestimmte Aufgabe, und so aus dem normalen Gebrauch der Geschichten Art von Themen am Ende Schwelle).

: 1241036430:0;cat ~/.history

‘: <beginning time>:<elapsed seconds>;<command>’.

extendedhistory - spart die Zeit in Sekunden. Die Anfangszeit ist seit der Epoche.

Quelle: http://zsh.sourceforge.net/Doc/ Release / options.html # index EXTENDEDHISTORY

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top