Sei fortunato perché i numeri nei nomi dei tuoi file sono solo nell'ordine di cui touch -t
ha bisogno.
Questo comando nel terminale funzionerà. Devi solo assicurarti che la tua directory di lavoro sia impostata sulla cartella che vuoi fare:
for f in *; do
t=$(echo $f | sed -E 's/([A-z]*-)|([ ,;])|(\..*)//g' | sed -E 's/(.*)(..)/./')
touch -t $t "$f"
done
Per scomporlo:
for f in *
imposta la variabile f
sul nome di ciascun file nella directory, a sua volta.
do
mette tutto fino a done
nel ciclo for
.
t=$(…)
imposta la variabile t
sull'output dei comandi tra parentesi.
Il primo comando sed
corrisponde a qualsiasi lettera prima di un simbolo -
, il -
;
e i simboli space
e l'estensione del file e li elimina.
Il secondo comando sed
inserisce un intervallo tra i valori mm e ss, come richiesto dal tocco.
touch -t $t $f
modifica la modifica del file e i tempi di creazione sul valore di t
sul file f
.
Testato su alcuni file fittizi con qualsiasi versione di sed
fornita con Mavericks.