Cambiar el nombre de archivos con la hora de la última modificación en el nombre del archivo

Cambiar el nombre de archivos con la hora de la última modificación en el nombre del archivo

Estoy intentando cambiar el nombre de un archivo con el mvcomando y me gustaría agregar la última fecha de modificación de este archivo (con formato AAAAMMDD) en el nombre del archivo y moverlo a otra carpeta. Obtuve la fecha actual del sistema como esta:

mv /home/user/Desktop/a.txt "/home/user/Desktop/testfolder/$(date +%Y%m%d)-a.txt"

Usé otras combinaciones de datepero no lo conseguí. Necesito saber si es posible hacerlo directamente mediante la línea de comando o necesito crear un script.

Respuesta1

Puedes probar este comando:

mv /dir_path/example.txt /new_dir_path/$(date +%Y-%m-%d -r example.txt)example.txt

Respuesta2

Probablemente sea más fácil hacer las cosas correctamente con un pequeño archivo de script.

-o-

Creo que desea utilizar la fecha de modificación en lugar de la fecha actual, consulte el resultado de

ls -l a.txt

o

ls -l --time-style=long-iso a.txt

Respuesta3

¡Gracias lo tengo! Sólo un detalle. Si está utilizando el comando desde una ruta donde no está el archivo original, debe usar esto:

mv /dir_path/example.txt /new_dir_path/$(fecha +%Y-%m-%d -r /dir_path/example.txt)ejemplo.txt

información relacionada