Se você quiser usar o datetime atual como um nome de arquivo, poderá usar date
e .
$ md5sum /etc/mtab > "$(date +"%Y_%m_%d_%I_%M_%p").log"
Isso resulta no arquivo 2016_04_25_10_30_AM.log
(embora, com o datetime atual) sendo criado com o hash md5 de /etc/mtab
como seu conteúdo.
Por favor, note que nomes de arquivos contendo timestamps de formato de 12 horas provavelmente não irão classificar por nome da maneira que você quer que eles sejam ordenados. Você pode evitar esse problema usando timestamps de formato de 24 horas.
Se você não tiver um requisito para usar esse formato de data específico, poderá considerar o uso de um formato de data e hora compatível com ISO 8601. Alguns exemplos de como gerar representações de data / hora ISO 8601 válidas incluem:
$ 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
Se você quiser nomes de arquivos "mais seguros" (por exemplo, para compatibilidade com o Windows), você pode omitir os dois-pontos da parte do tempo.
Por favor, tenha em mente que todos os exemplos acima assumem a hora local do sistema. Se você precisar de uma representação de tempo consistente em todos os fusos horários, especifique um deslocamento de fuso horário ou UTC. Você pode obter um deslocamento de fuso horário compatível com ISO 8601 usando "% z" na parte de formato da sua chamada date
desta forma:
$ date +"%FT%H%M%z"
2016-04-25T1030-0400
Você pode obter o horário UTC na sua chamada date
, especificando o sinal -u
e adicionando "Z" ao final da string de data e hora para indicar que o horário é UTC:
$ date -u +"%FT%H%MZ"
2016-04-25T1430Z