2016-07-21 26 views
0

umbenennen Ich bin auf einer Mac Bash Konsole.Wie man eine Liste von Dateien im Verzeichnis basierend auf Erstellungszeit auf Mac

gegoogelt ich al Menge (hier auch in Stapelüberlauf) und versuchte, jede Datei in einem Verzeichnis mit seiner Schöpfung Zeitstempel umbenennen über einen Befehl bash viele Skripte in Ordnung, aber keine gearbeitet, weil date und stat Befehle sind anders in Mac als in Linux. Ich habe auch keinen exif Befehl.

Ich möchte mit Format wie folgt aus (oder jedenfalls ähnlich) umbenennen: JJJJMMTT- SSMM

Kann mir jemand helfen? Vielen Dank im Voraus

EDIT

Ich versuchte this, this und this

EDIT 2

Ich möchte mit Format wie folgt aus (oder jedenfalls ähnlich) umbenennen : YYYYmmDD-HHMM.jpg (jpg ist ein Beispiel der Dateierweiterung, ich möchte Dateierweiterung nicht verlieren)

EDIT 3

Derzeit dieser Befehl funktioniert teilweise (immer gelten Jpgextension)

for f in `ls`; do mv "$f" "$(stat -t %Y%m%d-%H%M $f | awk -F"\"" '{print $8}').jpg"; done 
+0

Haben Sie die standardmäßigen Mac OS X Utils oder GNU Coreutils installiert? – Inian

+0

@Inian, wie kann ich überprüfen? – ddb

+0

Tippe 'stat --version' und füge die Ausgabe ein. – Inian

Antwort

1
mv fileName `stat -f %SB -t %Y%m%d-%H%M fileName` 

EDIT

hier Endlösung unter gesamte Dateiliste Looping

for f in `ls`; 
    do mv "$f" "`stat -f %SB -t %Y%m%d-%H%M $f`.`echo $f | cut -d '.' -f 2`"; 
done 
+0

Dateierweiterung geht verloren, wie kann ich es verhindern? – ddb

+0

Ich habe meine Frage bearbeitet, sorry – ddb

+0

angenommen, Ihr Dateiname ist in diesem Format 'name.extension', können Sie versuchen, echo fileName | geschnitten -d '.' -f 2' – hflzh