Ich möchte meinen Jekyll-Posts und -Seiten mithilfe eines Shell-Skripts Zeitstempel der letzten Änderung bereitstellen können. Das Problem ist, dass ich nicht weiß, wie ich automatisch einen akzeptablen Zeitstempel generieren kann. Am nächsten komme ich einem akzeptablen Zeitstempel mit diesem Befehl:
stat <FILE> | sed -n -e 's/Modify:\s//p'
was für meine glossary.md-Datei zurückgibt:
2016-02-12 09:37:55.393936224 +1000
das ist fast das Format, das ich möchte. Das einzige Problem ist, dass ich die Dezimalstelle entfernen möchte .393936224
. Ich dachte, ich könnte das selbst schaffen, sed
aber alle meine Versuche sind fehlgeschlagen. Die meisten meiner Versuche bestanden darin, diese Ausgabe in eine Textdatei zu schreiben und dann sed auf dieser Textdatei zu verwenden, um die Dezimalstelle zu entfernen. Ich würde es vorziehen, wenn Ihre Antwort die Ausgabe nicht in eine Textdatei schreibt, obwohl ich möchte, dass die Ausgabe Ihrer Lösung in eine Variable geschrieben werden kann. Beispiel: Wenn die Variable ist L
:
L=$(stat <FILE> | sed -n -e 's/Modify:\s//p' | sed ...)
wobei dies | sed ...
durch Ihre Lösung für dieses Problem ersetzt werden kann.
Antwort1
date
(zumindest in der heute üblichen GNU-Implementierung) kann man den Änderungszeitpunkt einer Datei direkt übernehmen:
> date -r ~/.bashrc +'%Y-%m-%d %H:%M:%S %z'
2015-11-10 18:50:49 +0100
(oder welches Format Sie auch immer wünschen)