Ich möchte einen Befehl für einen sehr großen Ordner ausführen, um alle Elemente basierend auf dem Änderungsdatum in Unterordner zu sortieren. Ist dies mit einer Zeile möglich?
D. h., alle im Juli 2013 geänderten Dateien würden nach 2013-07
usw. verschoben.
Etwas mit find
…, Jahr/Monat analysieren, dann in den passenden Ordner verschieben.
Die man
Seite für Macs find
ist hier:https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/find.1.html
Antwort1
Ich habe die Antwort gefundenHier... und für meine Bedürfnisse modifiziert:
for f in 12*; do
dir='/foo/bar/'$(stat -f%Sm -t%Y-%m "$f")
[ -d "$dir" ] || mkdir "$dir"
mv -nv "$f" "$dir"/
done
Sie können „ m
in“ -f%Sm
durch Folgendes ersetzen:
a, m, c, B
- Die Zeitdatei wurde zuletztAaufgerufen oderMgeändert, wann der Inode zuletztCgehängt, oder dieB3. Zeit des Inodes.