GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Dateien für das aktuelle Datum in Linux abrufen?

Normalerweise das date +%d ergibt die Ausgabe 08 für das aktuelle Datum, 10.08.2017. Aber wenn ich den ls -lrt mache Auf einem Pfad ist das Datumsformat wie folgt:Oct 8 15:03 , also, wie bekomme ich die Dateien des aktuellen Datums?

Ich verwende den Befehl

ls -lrt XYZ.LOG* |grep "$(date +'%b %d')" |awk '{print $9}'

aber es gibt mir nicht die Datei des heutigen Datums (10.08.2017), obwohl es mir die korrekte Ausgabe für die Daten vom 10. bis 31. eines jeden Monats gibt.

Akzeptierte Antwort:

Das ist ein bisschen Betrug, aber es funktioniert.

Erstellen Sie zunächst eine leere Referenzdatei mit einem bestimmten Zeitstempel, nämlich Mitternacht:

touch -d "$(date +%FT00:00:00)" /tmp/midnight

Suchen Sie dann nach Dateien, die neuer sind als diese Datei:

find . -type f -newer /tmp/midnight

Wenn Sie ls möchten -ähnliche Ausgabe von find statt nur die Pfadnamen:

find . -type f -newer /tmp/midnight -ls

Wenn Sie Dateien finden möchten, die dem Muster XYZ.LOG* entsprechen :

find . -type f -name 'XYZ.LOG*' -newer /tmp/midnight -ls

Wenn Sie GNU find haben , können Sie die temporäre Datei umgehen und

verwenden
find . -type f -newermt 0

um Dateien zu erhalten, die seit Mitternacht geändert wurden.

Verwandte:Warum *nicht* `ls` parsen?


Linux
  1. Finden Sie die größten Dateien und Verzeichnisse in Linux

  2. Wie finde ich die Anwendung für einen Mime-Typ unter Linux?

  3. Linux-Suchbefehle

  4. Verwenden Sie Find and Locate, um unter Linux nach Dateien zu suchen

  5. So verwenden Sie den Linux-Befehl find zum Suchen von Dateien

Finden Sie große Dateien in Linux

So finden Sie Dateien über die Befehlszeile im Linux-Terminal

So finden und listen Sie die Dateien rekursiv nach Datum in Linux auf

Formatierungstricks für den Linux-Datumsbefehl

So suchen Sie nach Dateien über die Linux-Befehlszeile

So finden Sie Dateien mit dem fd-Befehl in Linux