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

Wie listet man Dateien rekursiv auf und sortiert sie nach Änderungszeit?

Verwenden Sie find ist -printf und nach einem vernünftigen Datumsformat sortieren:

find -type f -printf '%T+\t%p\n' | sort -n

Dies sollte Prozessverzweigungen minimieren und somit am schnellsten sein.

Beispiele, wenn Ihnen der Sekundenbruchteil nicht gefällt (der oft sowieso nicht im Dateisystem implementiert ist):

find -type f -printf '%T+\t%p\n' | sed 's/\.[[:digit:]]\{10\}//' | sort -n
find -type f -printf '%T+\t%p\n' | cut --complement -c 20-30 | sort -n

BEARBEITEN: Standard find auf dem Mac hat nicht -printf . Aber es ist nicht schwierig, GNU find auf einem Mac zu installieren (siehe auch diesen Link für weitere Vorbehalte bezüglich Mac/Linux-Kompatibilität und xargs ).


Hier ist eine Methode mit stat wie @johnshen64 vorgeschlagen

find . -type f -exec stat -f "%m%t%Sm %N" '{}' \; | sort -rn | head -20 | cut -f2-

Linux
  1. So finden Sie große Dateien unter Linux mit den Befehlen find und du

  2. Wie liste ich alle Verzeichnisse an einem Ort rekursiv auf, Breite zuerst?

  3. Dateien finden und taren (mit Leerzeichen)

  4. Wie finde ich die größten Verzeichnisse oder größten Dateien?

  5. Wie kann ich alle leeren Dateien und Verzeichnisse in Linux rekursiv löschen?

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

So finden Sie doppelte Dateien in Linux und entfernen sie

Wie man Dateien in Linux rekursiv auflistet

So finden Sie das Installationsdatum und die Uhrzeit des Linux-Betriebssystems

So erhalten Sie alle Dateien, die eine bestimmte Größe überschreiten, und löschen sie

Wie finde ich Dateien und summiere ihre Größe?