Якщо ви хочете використовувати поточний час дати як ім'я файлу, ви можете використовувати date
та замінити команди .
$ md5sum /etc/mtab > "$(date +"%Y_%m_%d_%I_%M_%p").log"
Це призводить до того, що файл 2016_04_25_10_30_AM.log
(хоча з поточним датою) створюється з хедом md5 /etc/mtab
як його вмістом.
Зверніть увагу, що назви файлів, що містять часові позначки формату 12 годин, ймовірно, не будуть сортувати за назвою так, як ви хочете їх сортувати. Ви можете уникнути цієї проблеми, використовуючи натомість часові позначки формату 24 години.
Якщо у вас немає вимоги використовувати цей конкретний формат дати, ви можете скористатися форматом дати, сумісним з ISO 8601. Деякі приклади того, як генерувати дійсні уявлення про ISO 8601, включають:
$ 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
Якщо ви хочете "безпечніші" імена файлів (наприклад, для сумісності з Windows), ви можете опустити колонки з часової частини.
Зауважте, що всі наведені вище приклади передбачають місцевий системний час. Якщо вам потрібне подання часу, яке відповідає часовим поясам, слід вказати зміщення часового поясу або UTC. Ви можете отримати зміщення часового поясу, сумісного з ISO 8601, використовуючи "% z" в частині формату вашого date
дзвінка так:
$ date +"%FT%H%M%z"
2016-04-25T1030-0400
Ви можете отримати час UTC у своєму date
дзвінку, вказавши -u
прапор і додавши "Z" до кінця рядка date date, щоб вказати, що час є UTC таким чином:
$ date -u +"%FT%H%MZ"
2016-04-25T1430Z