Dateien von einem bestimmten Tag finden

Wie findet man unter Linux eine Datei, deren Namen man nicht kennt, aber von der man weiß, an welchem Tag sie erstellt bzw. zuletzt bearbeitet wurde? Bei find gibt es u.a. die Option -mtime, aber hier muss man angeben, wie lange es her ist, dass die Datei verändert wurde. Ohne große Rechenarbeit geht es jedoch mit der Option -newer. Hier muss man eine Datei angeben, auf die sich die Suche beziehen soll. Eine solche Datei kann man leicht mit touch erstellen.

Nehmen wir also an, wir suchen eine Datei, die am 06.09.2024 erstellt wurde. Da -newer Dateien sucht, die neuer als die Referenz sind, wir aber nur Dateien mit diesem Datum finden wollen, brauchen wir zwei Referenzdateien:

touch -d 2024-09-06 reference1.txt
touch -d 2024-09-07 reference2.txt

Nun können wir suchen:

find . -xdev -newer reference1.txt -a -not -newer reference2.txt -ls 2>/dev/null | less

Wie man sieht, benötigen wir die zweite Referenz, um zu verhindern, dass auch Dateien gefunden werden, die nach dem 06.09.2024 geändert wurden. Die Option -xdev verhindert, dass wir in anderen Dateisystemen suchen, z.B. eine im Suchpfad gemountete Netzwerkfestplatte.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.