Se você quiser usar a data e hora atuais como um nome de arquivo, poderá usar date
e comandar a substituição .
$ md5sum /etc/mtab > "$(date +"%Y_%m_%d_%I_%M_%p").log"
Isso resulta no arquivo 2016_04_25_10_30_AM.log
(embora com a data e hora atual) sendo criado com o hash md5 /etc/mtab
como seu conteúdo.
Observe que os nomes de arquivos que contêm carimbos de data e hora no formato de 12 horas provavelmente não serão classificados por nome da maneira que você deseja que eles sejam classificados. Você pode evitar esse problema usando carimbos de data / hora no formato de 24 horas.
Se você não precisa usar esse formato de data específico, considere usar um formato de data e hora compatível com ISO 8601. Alguns exemplos de como gerar representações válidas de data e hora ISO 8601 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), poderá omitir os dois pontos da parte da hora.
Lembre-se de que os exemplos acima assumem a hora local do sistema. Se você precisar de uma representação de horário consistente entre 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 date
chamada, como segue:
$ date +"%FT%H%M%z"
2016-04-25T1030-0400
Você pode obter a hora UTC em sua date
chamada especificando o -u
sinalizador e adicionando "Z" ao final da cadeia de data e hora para indicar que a hora é UTC assim:
$ date -u +"%FT%H%MZ"
2016-04-25T1430Z