Jika Anda ingin menggunakan datetime saat ini sebagai nama file, Anda bisa menggunakan date
dan memerintahkan substitusi .
$ md5sum /etc/mtab > "$(date +"%Y_%m_%d_%I_%M_%p").log"
Ini menghasilkan file 2016_04_25_10_30_AM.log
(walaupun, dengan datetime saat ini) dibuat dengan hash md5 /etc/mtab
sebagai isinya.
Harap perhatikan bahwa nama file yang berisi cap waktu format 12 jam mungkin tidak akan mengurutkan berdasarkan nama seperti yang Anda inginkan. Anda dapat menghindari masalah ini dengan menggunakan cap waktu format 24 jam sebagai gantinya.
Jika Anda tidak memiliki persyaratan untuk menggunakan format tanggal tertentu, Anda dapat mempertimbangkan untuk menggunakan format datetime ISO 8601 yang sesuai. Beberapa contoh cara menghasilkan representasi ISO 8601 datetime yang valid meliputi:
$ 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
Jika Anda ingin nama file "lebih aman" (mis., Untuk kompatibilitas dengan Windows), Anda dapat menghilangkan titik dua dari bagian waktu.
Harap diingat bahwa semua contoh di atas mengasumsikan waktu sistem lokal. Jika Anda memerlukan representasi waktu yang konsisten di seluruh zona waktu, Anda harus menentukan offset zona waktu atau UTC. Anda bisa mendapatkan offset zona waktu ISO 8601 yang memenuhi syarat dengan menggunakan "% z" di bagian format date
panggilan Anda seperti ini:
$ date +"%FT%H%M%z"
2016-04-25T1030-0400
Anda bisa mendapatkan waktu UTC dalam date
panggilan Anda dengan menentukan -u
bendera dan menambahkan "Z" ke akhir string datetime untuk menunjukkan bahwa waktu adalah UTC seperti ini:
$ date -u +"%FT%H%MZ"
2016-04-25T1430Z