Tengo los archivos que se denominan como "12. 2017-04-11 063118.jpg" y "123. 2016-09-05 115236.jpg". El número a la izquierda de el "." cuenta como un índice de 1 a 1400.
¿Cómo puedo establecer la fecha y hora de creación de acuerdo a la forma en que se especifica en el nombre de archivo para todos los 1400 archivos que tengo en la carpeta. Sé el comando touch -t cambia la fecha de creación, pero no sé cómo extraer la información de fecha y hora desde el nombre de archivo y poner esto en orden, de modo que este se realiza de forma automática para todos los archivos.
Yo sé de otro hilo que por debajo de la que debe trabajar. pero no sé cómo modificar el texto de conversión a aplicar correctamente a mis convención de nomenclatura de archivos.
for f in *; do
t=$(echo $f | sed -E 's/([A-z]*-)|([ ,;])|(\..*)//g' | sed -E 's/(.*)(..)/\1.\2/')
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 ajustar el sed
función de comando para el proceso de la conversión en el formato correcto para tocar?