Tienes suerte porque los números en los nombres de tus archivos solo están en el orden que touch -t
necesita.
Este comando en el terminal funcionará. Solo debe asegurarse de que su directorio de trabajo esté configurado en la carpeta que desea hacer:
for f in *; do
t=$(echo $f | sed -E 's/([A-z]*-)|([ ,;])|(\..*)//g' | sed -E 's/(.*)(..)/./')
touch -t $t "$f"
done
Para descomponerlo:
for f in *
establece la variable f
al nombre de cada archivo en el directorio, a su vez.
do
pone todo hasta que done
en el bucle for
.
t=$(…)
establece la variable t
a la salida de los comandos entre paréntesis.
El primer comando sed
coincide con cualquier letra antes de un símbolo -
, los símbolos -
;
y space
y la extensión del archivo, y los elimina.
El segundo comando sed
inserta un período entre los valores mm y ss, según lo requiera la función táctil.
touch -t $t $f
cambia la modificación del archivo y los tiempos de creación al valor de t
en el archivo f
.
Probado en algunos archivos ficticios con cualquier versión de sed
incluida con Mavericks.