Crear directorios o ficheros con la fecha y hora actuales
El comando date admite muchos modificadores de su formato, para poder mostrar los años con dos o con cuatro dígitos; los meses, días, horas, minutos y segundos con uno o dos dígitos cuando el valor es menor que 10 y más modificadores de formato.
En este artículo nos centraremos en cómo generar una cadena que permita ordenar por fechas directorios y ficheros. Para ello usaremos los siguientes modificadores:
- %Y -> Muestra el año en formato de cuatro dígitos
- %m ->Muestra el mes en formato de dos dígitos
- %d -> Muestra el día en formato de dos dígitos
- %k -> Muestra la hora en formato de dos dígitos
- %M -> Muestra los minutos en formato de dos dígitos
- %S -> Muestra los segundos en formato de dos dígitos
Podemos comprobarlo con:
#!/bin/bash today=$(date +%Y-%m-%d) now=$(date +%Y-%m-%d-%k-%M-%S) echo $today echo $now
Viendo que este es el resultado esperado, podemos pasar a ver cómo crear un directorio con la fecha de hoy:
#!/bin/bash mkdir $(date +%Y-%m-%d)
Y para usar la fecha y hora actual para generar un fichero, por ejemplo, con una captura de la pantalla:
#!/bin/bash now=$(date +%Y-%m-%d-%k-%M-%S) import -window root $now.png