यदि आप फ़ाइल नाम के रूप में वर्तमान डेटाटाइम का उपयोग करना चाहते हैं, तो आप प्रतिस्थापन का उपयोग date
और कमांड कर सकते हैं ।
$ md5sum /etc/mtab > "$(date +"%Y_%m_%d_%I_%M_%p").log"
यह फ़ाइल 2016_04_25_10_30_AM.log
(हालांकि, वर्तमान डेटाटाइम के साथ) में md5 हैश के /etc/mtab
साथ इसकी सामग्री के रूप में बनाई जा रही है ।
कृपया ध्यान दें कि 12-घंटे के प्रारूप टाइमस्टैम्प वाले फ़ाइलनाम संभवतः उस तरह से नाम से सॉर्ट नहीं होंगे, जिस तरह से आप उन्हें सॉर्ट करना चाहते हैं। आप इसके बजाय 24-घंटे प्रारूप टाइमस्टैम्प का उपयोग करके इस समस्या से बच सकते हैं।
यदि आपको उस विशिष्ट दिनांक प्रारूप का उपयोग करने की आवश्यकता नहीं है, तो आप आईएसओ 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
यदि आप "सुरक्षित" फ़ाइलनाम चाहते हैं (उदाहरण के लिए, विंडोज के साथ संगतता के लिए), तो आप कॉलोन को समय भाग से हटा सकते हैं।
कृपया ध्यान रखें कि उपरोक्त उदाहरण सभी स्थानीय प्रणाली के समय को मानते हैं। यदि आपको एक समय प्रतिनिधित्व की आवश्यकता है जो समय क्षेत्र के अनुरूप है, तो आपको एक समय क्षेत्र ऑफसेट या यूटीसी निर्दिष्ट करना चाहिए। आप date
इस तरह से अपने कॉल के प्रारूप भाग में "% z" का उपयोग करके एक आईएसओ 8601 अनुरूप समय क्षेत्र ऑफसेट प्राप्त कर सकते हैं :
$ date +"%FT%H%M%z"
2016-04-25T1030-0400
आप ध्वज date
को निर्दिष्ट करके और कॉल -u
को "Z" जोड़कर अपने कॉल में UTC का समय प्राप्त कर सकते हैं और यह इंगित करने के लिए कि यह समय UTC है:
$ date -u +"%FT%H%MZ"
2016-04-25T1430Z