Beiträge von maik3531 im Thema „Anleitung - Verwendung des find-Befehls mit -newermt-Option“

    Verwendung des find-Befehls mit -newermt-Option:

    Der find-Befehl ist ein leistungsstarkes Werkzeug in der Linux-Umgebung, um Dateien basierend auf verschiedenen Kriterien zu suchen.

    Mit der -newermt-Option können Dateien gefunden werden, die neuer als eine bestimmte Zeitmarke sind.

    Dateien vom aktuellen Datum finden:

    Code
    find /pfad/zum/verzeichnis -newermt $(date '+%Y-%m-%d')

    Ersetze "/pfad/zum/verzeichnis" durch den tatsächlichen Pfad zu dem Verzeichnis, das die Dateien enthält. Dieser Befehl sucht nach Dateien, die neuer als die heutige Zeitmarke sind.

    Beispiel:

    Code
    find ~/Dokumente -newermt $(date '+%Y-%m-%d')

    Dies gibt eine Liste der Dateien im Verzeichnis "~/Dokumente" aus, die heute erstellt wurden.

    Dateien vom Datum bis Datum finden:

    Um Dateien in einem bestimmten Zeitraum zu finden, gib einfach zwei Datumsgrenzen an:

    Code
    find /pfad/zum/verzeichnis -newermt 2021-11-01 ! -newermt 2021-11-09

    Dieser Befehl sucht nach Dateien, die nach dem 1. November 2021 erstellt wurden, aber nicht nach dem 9. November 2021.

    Dateien von Gestern finden:

    Um Dateien zu finden, die gestern erstellt wurden:

    Code
    find /pfad/zum/verzeichnis -newermt $(date -d "yesterday" '+%Y-%m-%d') ! -newermt $(date '+%Y-%m-%d')

    Hier sucht der Befehl nach Dateien, die gestern erstellt wurden, aber nicht nach heute. Das selbe geht übrigens auch über find -mtine -1

    • -mtime +30 bedeutet Datei suchen, die vor 30 Tagen geändert wurde.
    • -mtime -30 bedeutet weniger als 30 Tage.
    • -mtime 30 ohne + oder – bedeutet genau 30 Tage.


    Beispiele für JPG-Bilder:

    Alle JPG-Bilder vom Datum finden:

    Code
    find /pfad/zum/verzeichnis -newermt 2023-11-01 ! -newermt 2023-11-09 -name "*.jpg"

    Dieser Befehl sucht nach JPG-Bildern, die zwischen dem 1. November 2023 und dem 8. November 2023 erstellt wurden.

    Alle JPG-Bilder von Gestern finden:

    Code
    find /pfad/zum/verzeichnis -newermt $(date -d "yesterday" '+%Y-%m-%d') ! -newermt $(date '+%Y-%m-%d') -name "*.jpg"

    Hier werden JPG-Bilder gesucht, die gestern erstellt wurden.

    Nach Erstellungs- und Bearbeitungsdatum sortieren:

    Nach Erstellungsdatum sortieren:

    Code
    find /pfad/zum/verzeichnis -type f -newermt 2023-11-01 ! -newermt 2023-11-09 -exec stat --format="%Y %n" {} + | sort -n

    Dieser Befehl sucht nach Dateien, die zwischen dem 1. November 2023 und dem 8. November 2023 erstellt wurden, und listet sie nach ihrem Erstellungsdatum auf.

    Nach dem zuletzt bearbeiteten Datum sortieren:

    Code
    find /pfad/zum/verzeichnis -type f -newermt 2023-11-01 ! -newermt 2023-11-09 -exec stat --format="%Y %n" {} + | sort -n

    Hier sucht der Befehl nach Dateien, die zwischen dem 1. November 2023 und dem 8. November 2023 zuletzt bearbeitet wurden, und listet sie nach dem zuletzt bearbeiteten Datum auf.

    Beispiele für ODT-Dateien:

    ODT-Dateien nach Erstellungsdatum finden:

    Code
    find /pfad/zum/verzeichnis -type f -name "*.odt" -newermt 2023-11-01 ! -newermt 2023-11-09 -exec stat --format="%Y %n" {} + | sort -n

    Dieser Befehl sucht nach ODT-Dateien, die zwischen dem 1. November 2023 und dem 8. November 2023 erstellt wurden, und listet sie nach ihrem Erstellungsdatum auf.

    ODT-Dateien nach zuletzt bearbeitetem Datum finden:

    Code
    find /pfad/zum/verzeichnis -type f -name "*.odt" -newermt 2023-11-01 ! -newermt 2023-11-09 -exec stat --format="%Y %n" {} + | sort -n

    Hier sucht der Befehl nach ODT-Dateien, die zwischen dem 1. November 2023 und dem 8. November 2023 zuletzt bearbeitet wurden, und listet sie nach dem zuletzt bearbeiteten Datum auf.

    Alle Unterordner einbeziehen:

    Beide der oben genannten Befehle berücksichtigen standardmäßig bereits alle Unterordner. Der Parameter -type f sorgt dafür, dass nur Dateien (keine Ordner) in Betracht gezogen werden, aber alle Unterordner werden durchsucht.

    Alias erstellen (optional):

    Füge die entsprechenden Zeilen zu deiner Shell-Konfigurationsdatei hinzu und aktiviere die Aliase. Jetzt kannst du einfach die definierten Aliase wie findtoday, findjpg, usw. verwenden, um die gewünschten Dateien zu finden.

    Auch kann man sich auch ein Script erstellen. Welches alle Bilder nach Erstellungsdatum unter ~/Bilder verschiebt/sortiert Beispiel ~/Bilder/2020, ~/Bilder/2021 etc. Nach dem selben Muster eben auch Dokumente nach Erstellungs- und/oder Bearbeitungsdatum sortieren und Nach Datumsformat z.B. YYYY-MM-DD_Dateiname umbenennen lassen, in Verbindung mit grep alle Rechnungen von "Herr Müller" nach eines Zeitraums filtern usw.

    Der find Befehl bietet noch zahlreiche weitere Funktionen, die aber den Rahmen sprängen würden. Z.B. können mit atime Zugriffe auf Dateien geprüft werden (wobei diese nicht mal geändert wurden sein müssen) Beisiel: find ~/Dokumente -iname "*.txt" -atime -30 der Befehl find atime gibt die Liste aller TXT-Dateien aus, auf die in den letzten 30 Tagen zugegriffen wurde. Wobei hier genau wie bei mtime - innerhalb der angegebenen Tage + vor der zahl der angegebenen Tage und ohne - oder + genau an den Tag bedeutet. Genauso ist es möglich nur nach Dateien mit bestimmten Zugriffsrechten zu suchen bzw. diese zu ändern. Bsp.: find . -type f -print0 | xargs -0 chmod 0644 Dateien rekursiv mit chmod ab dem aktuellen Verzeichnis ändern, jedoch nicht die Verzeichnisse. Mit -type d das selbe für Ordner. usw.

    Diese Anleitung sollte dir helfen, Dateien nach verschiedenen Kriterien zu suchen und zu organisieren.