it-swarm.com.de

Wie werden nur Dateien erstellt, die nach einem Datum mit ls erstellt wurden?

Ist es mit dem Befehl ls möglich, nur die Dateien anzuzeigen, die nach einem bestimmten Datum, einer bestimmten Stunde ... erstellt wurden?

Ich frage es, weil ich ein Verzeichnis mit Tausenden von Dateien habe.

Ich möchte also alle Dateien sehen, die seit gestern erstellt wurden.

Ich benutze ls -ltr aber ich muss warten um alle Dateien zu sehen ...

Es gibt ein Äquivalent von DIRECTORY/SINCE=date von OpenVMS?

109
Luc M

Mit dem Befehl find können Sie alle Dateien suchen, die nach einer bestimmten Anzahl von Tagen geändert wurden.

Um beispielsweise alle Dateien im aktuellen Verzeichnis zu finden, die seit gestern (vor 24 Stunden) geändert wurden, verwenden Sie:

find . -maxdepth 1 -mtime -1

Beachten Sie, dass Sie -mtime +1 Anstelle von -mtime -1 Verwenden müssen, um geänderte Dateien zu finden vor vor 24 Stunden.

132
dogbane
find . -type f -newermt '1/30/2017 0:00:00'

Dadurch werden alle Dateien gefunden, die nach einem bestimmten Datum geändert wurden.

29
nullability
ls -ltr | grep "`date | awk '{print $2" "$3}'`"
1
Trant Batey

Hoffe das funktioniert:

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $9}'

Hier:

$6 indicates position of month
$7 indicates day of the month

dieser obige Befehl druckt alle Dateinamen, die am oder nach dem 1. bis 31. Mai erstellt wurden

wenn Sie das Datum auch auf der Konsole drucken möchten, versuchen Sie dies

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'

Wenn Sie den Pfad des Verzeichnisses angeben möchten, können Sie dies ausprobieren

ls -ltr <path>| awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'
0
Rohit Nimmala