Estoy tratando de ejecutar un comando y me gustaría poner la fecha y la hora en el nombre del archivo de salida.
Aquí hay un comando de muestra que me gustaría ejecutar.
md5sum /etc/mtab > 2016_4_25_10_30_AM.log
El formato de fecha y hora puede ser razonable con guiones bajos. Incluso UTC si no se pueden usar AM y PM.
Respuestas:
Si desea utilizar la fecha y hora actual como un nombre de archivo, puede utilizar
date
y la sustitución de comandos .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:
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: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:fuente
$(date +%FT%T)
que dará2016-04-25T10:30:00
.