Si vous souhaitez utiliser le datetime actuel comme nom de fichier, vous pouvez utiliser date
et remplacer la commande .
$ md5sum /etc/mtab > "$(date +"%Y_%m_%d_%I_%M_%p").log"
Il en résulte que le fichier 2016_04_25_10_30_AM.log
(bien que, avec l'heure actuelle) soit créé avec le hachage md5 /etc/mtab
comme contenu.
Veuillez noter que les noms de fichiers contenant des horodatages au format 12 heures ne seront probablement pas triés par nom comme vous le souhaitez. Vous pouvez éviter ce problème en utilisant des horodatages au format 24 heures à la place.
Si vous n'êtes pas obligé d'utiliser ce format de date spécifique, vous pouvez envisager d'utiliser un format datetime conforme à ISO 8601. Voici quelques exemples de génération de représentations datetime ISO 8601 valides:
$ 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 vous voulez des noms de fichiers "plus sûrs" (par exemple, pour des raisons de compatibilité avec Windows), vous pouvez omettre les deux-points de la partie temporelle.
Veuillez garder à l'esprit que les exemples ci-dessus supposent tous l'heure locale du système. Si vous avez besoin d'une représentation horaire cohérente d'un fuseau horaire à l'autre, vous devez spécifier un décalage de fuseau horaire ou UTC. Vous pouvez obtenir un décalage de fuseau horaire conforme à la norme ISO 8601 en utilisant "% z" dans la partie format de votre date
appel comme ceci:
$ date +"%FT%H%M%z"
2016-04-25T1030-0400
Vous pouvez obtenir l'heure UTC dans votre date
appel en spécifiant l' -u
indicateur et en ajoutant "Z" à la fin de la chaîne datetime pour indiquer que l'heure est UTC comme ceci:
$ date -u +"%FT%H%MZ"
2016-04-25T1430Z