Saya mencoba menjalankan perintah dan ingin memasukkan tanggal dan waktu dalam nama file output.
Ini adalah contoh perintah yang ingin saya jalankan.
md5sum /etc/mtab > 2016_4_25_10_30_AM.log
Format waktu tanggal bisa apa saja yang masuk akal dengan garis bawah. Bahkan UTC jika AM dan PM tidak dapat digunakan.
Jawaban:
Jika Anda ingin menggunakan datetime saat ini sebagai nama file, Anda bisa menggunakan
date
dan memerintahkan substitusi .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:
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: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:sumber
$(date +%FT%T)
yang akan diberikan2016-04-25T10:30:00
.