Tienes suerte porque los números en tus nombres de archivo están en el orden justo touch -t
necesidades.
Este comando en la terminal funcionará. Sólo tienes que asegurarte de que tu directorio de trabajo está configurado en la carpeta que quieres hacer:
for f in *; do
t=$(echo $f | sed -E 's/([A-z]*-)|([ ,;])|(\..*)//g' | sed -E 's/(.*)(..)/\1.\2/')
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 el done
en el for
el bucle.
t=$(…)
establece la variable t
a la salida de los comandos entre paréntesis.
La primera sed
El comando coincide con cualquier letra antes de un -
el símbolo, el -
;
y el space
y la extensión del archivo, y los borra.
El segundo sed
El comando inserta un período entre los valores mm y ss, como el tacto lo requiere.
touch -t $t $f
cambia los tiempos de modificación y creación de los archivos al valor de t
en el archivo f
.
Probado en algunos archivos falsos con cualquier versión de sed
naves con Mavericks.