Tengo archivos que se denominan como "12. 2017-04-11 063118.jpg" y "123. 2016-09-05 115236.jpg". El número a la izquierda del "." Cuenta como un índice de 1 a 1400.
¿Cómo puedo configurar la fecha y hora de creación de acuerdo con la forma en que se especifica en el nombre del archivo para todos los 1400 archivos que tengo en la carpeta? Sé que el comando touch -t cambia la fecha de creación, pero no sé cómo extraer la información de fecha / hora del nombre de archivo y poner esto en un comando, por lo que esto se hace automáticamente para todos los archivos.
Sé por otro hilo que lo siguiente debería funcionar. pero no sé cómo ajustar la conversión de texto para que se aplique correctamente a mi convención de nomenclatura de archivos.
for f in *; do
t=$(echo $f | sed -E 's/([A-z]*-)|([ ,;])|(\..*)//g' | sed -E 's/(.*)(..)/./')
touch -t $t "$f"
done
El código anterior funciona si mi convención de nomenclatura de archivos es como "clip-2014-01-31 18; 50; 15.mp4", sin embargo, tengo un formato diferente: "12. 2017-04-11 063118.jpg ", y" 123. 2016-09-05 115236.jpg ". ¿Alguien sabe cómo modificar el comando de función sed
para procesar la conversión en el formato correcto para el toque?