Der date
Befehl ist recht flexibel beim Erkennen von Zeichenfolgen, die Datumsangaben darstellen. Also zum Beispiel:
$ date -d 'Oct 29 2018' Mon Oct 29 00:00:00 CET 2018
Das -d
Flag weist date
an, das angegebene Datum als Zeichenfolge anzuzeigen.
Sie können den +FORMAT
Parameter hinzufügen, um das Datum nach Ihren Wünschen zu konvertieren. Zum Beispiel:
$ date -d 'Oct 29 2018' '+%Y-%m-%d' 2018-10-29
Siehe man date
für die Option, die Sie für das Ausgabeformat festlegen müssen.
BEARBEITEN:
Entschuldigung, ich habe Ihre Referenz nicht erhalten -mtime
. Sprichst du über den find
Filter? Wenn ja, ich denke, Sie brauchen OLDEST_DATE
in Tagen den Unterschied zwischen heute und Ihrem .
Sie können es erhalten, indem Sie Datumsangaben in das Epochenformat konvertieren (Sekunden seit 1970-01-01 00:00:00 UTC). Zum Beispiel:
$ current="$(date '+%s')" $ oldest_date_epoch="$(date -d "$OLDEST_DATE" '+%s')" $ diff_days=$(( ("$current" - "$oldest_date_epoch") / (3600 * 24) ))
Beachten Sie, dass dies keine generelle Lösung ist, da date
Fremdsprachen nicht verstanden werden können .