Ich möchte einen Befehl schreiben, der mir rekursiv die neueste Datei in einem Verzeichnis gibt . Aber das ist nicht meine einzige Einschränkung. Die Dateien müssen eine MP3- oder eine JPG- Datei sein. ( Groß- und Kleinschreibung wird nicht bevorzugt) Ich benötige nur das Erstellungsdatum dieser neuesten Datei. Wenn möglich, möchte ich, dass es so formatiert wird: 30-12-2014 (also: Tag-Monat-Jahr )
Dies ist derzeit, was ich habe:
find . -name '*.mp3' -or -name '*.JPG' -printf "%TD \n" | sort -rn | head -n 1
Aber es funktioniert nicht gut. Ich bekomme nur JPGs und das Datum ist nicht formatiert.
files
find
sort
timestamps
user2815780
quelle
quelle
Antworten:
So etwas sollte funktionieren:
Dies sollte die Dateien finden, die (ohne Berücksichtigung der Groß- und Kleinschreibung) Dateien finden, die mit mp3 oder jpg enden, die Änderungszeit ausdrucken und dann in umgekehrter Reihenfolge sortieren.
Es scheint beide Dateitypen anzuzeigen, wenn Sie es effektiv als zwei Befehle ausführen:
quelle
\( -iname '*.mp3 -o -iname '*.jpg' \)
sonst brauchst es passt das eine oder andere.Mit
zsh
:Beachten Sie, dass es auf der letzten Änderungszeit basiert. Die Erstellungszeit (was auch immer das bedeutet) ist unter Linux im Allgemeinen nicht ohne weiteres verfügbar.
Versteckte Dateien werden nicht berücksichtigt. Wenn Sie sie wollen, fügen Sie das
D
Globbing-Qualifikationsmerkmal oben hinzu.quelle
zsh
die Lösung eingeben und ausprobieren. In den meisten Systemen wird diezsh
Shell standardmäßig verwendet.Siehe auch folgendes:
quelle
-mtime -1
indem Sie die Änderungszeit ändern. Zum Beispiel-mtime -10
, die nach MP3- oder JPG-Dateien suchen, die in 10 Tagen erstellt werden, und natürlich können|head -n4
Sie am Ende festlegen oder was auch immer Sie wollen-mtime -100
, um nach den neuesten 100 Dasys zu suchenSie haben -oder angegeben, das muss -o sein, wie andere korrigiert haben. Sie brauchen auch Klammern, denke ich (Korrektur in meinem ursprünglichen Beitrag). Ich würde empfehlen,
%T@
für den Formatbezeichner (Sekunden seit 1970) zu verwenden, der sauberer zu sortieren ist. dann können Sie es mit konvertierenoder Wasauchimmer. Sie können auch das gewünschte Datumsformat verwenden
+
.quelle