Si desea utilizar la fecha y hora actual como un nombre de archivo, puede utilizar date
y la sustitución de comandos .
$ md5sum /etc/mtab > "$(date +"%Y_%m_%d_%I_%M_%p").log"
Esto da como resultado que el archivo 2016_04_25_10_30_AM.log
(aunque con la fecha y hora actual) se cree con el hash md5 /etc/mtab
como contenido.
Tenga en cuenta que los nombres de archivo que contienen marcas de tiempo de formato de 12 horas probablemente no se ordenarán por nombre de la manera que usted desea. Puede evitar este problema utilizando marcas de tiempo de formato de 24 horas.
Si no tiene el requisito de usar ese formato de fecha específico, puede considerar usar un formato de fecha y hora compatible con ISO 8601. Algunos ejemplos de cómo generar representaciones válidas de fecha y hora ISO 8601 incluyen:
$ date +"%FT%T"
2016-04-25T10:30:00
$ date +"%FT%H%M%S"
2016-04-25T103000
$ date +"%FT%H%M"
2016-04-25T1030
$ date +"%Y%m%dT%H%M"
20160425T1030
Si desea nombres de archivo "más seguros" (por ejemplo, para compatibilidad con Windows), puede omitir los dos puntos de la porción de tiempo.
Tenga en cuenta que todos los ejemplos anteriores suponen la hora del sistema local. Si necesita una representación horaria que sea coherente en todas las zonas horarias, debe especificar un desplazamiento de zona horaria o UTC. Puede obtener un desplazamiento de zona horaria compatible con ISO 8601 utilizando "% z" en la parte de formato de su date
llamada de esta manera:
$ date +"%FT%H%M%z"
2016-04-25T1030-0400
Puede obtener la hora UTC en su date
llamada especificando el -u
indicador y agregando "Z" al final de la cadena de fecha y hora para indicar que la hora es UTC de esta manera:
$ date -u +"%FT%H%MZ"
2016-04-25T1430Z