लिनक्स में कैसे एक नाम के साथ एक फ़ाइल बनाने के लिए जो वर्तमान दिनांक और समय है


12

मैं एक फ़ाइल बनाना चाहता हूं, जिसका नाम एक वर्तमान दिनांक और समय होगा। मैं touchकमांड के साथ एक फाइल बना सकता हूं । साथ ही मुझे dateकमांड के साथ करंट टाइम मिल सकता है । इसलिए, मुझे लगता है, मुझे किसी तरह दूसरे कमांड को पहले वाले को पाइप करने की आवश्यकता है। मैं उसे कैसे कर सकता हूँ?

जवाबों:


19

शेल एक्सप्रेशन से वापसी मान का उपयोग तर्क के रूप में करें touch:

touch $( date '+%Y-%m-%d_%H-%M-%S' )

परिणाम: उदा 2012-03-11_14-33-53। नामक फ़ाइल ।

यह उत्तर मानता है कि आप इसका उपयोग कर रहे हैं bash(यह manपृष्ठ अनुभाग कमांड प्रतिस्थापन में वर्णित है ), लेकिन अन्य गोले समान या थोड़े अलग काम करेंगे।



मैंने अपनी टिप्पणी हटा दी क्योंकि मार्कडाउन ने बैकटिक्स को तोड़ दिया। लिंक
@DanielBeck के

2
@gasan बस "उद्धरण चिह्नों के साथ इसे घेर लें । आप के उत्पादन में कल्पना कर सकते हैं dateकमांड लाइन के उस हिस्से की जगह है, और touch Sun Mar 11 14:48:31 CET 2012फ़ाइलों का नाम बन जाएगा Sun, Marआदि touch "Sun Mar 11 14:48:31 CET 2012"दूसरी ओर ठीक काम करता है (सिवाय मुझे यकीन है कि नहीं कर रहा हूँ कितना अच्छा कोलन काम करेंगे)।
डैनियल बेक

2
@gasan सिंगल कोट्स काम नहीं करेंगे क्योंकि वे कमांड प्रतिस्थापन या किसी अन्य व्याख्या की अनुमति नहीं देते हैं। बैश मैनुअल में उद्धृत करते हुए देखें ।
slhck

2
@gasan अंतर यह है कि एकल उद्धरणों की सामग्री का मूल्यांकन नहीं किया जाता है। इसके साथ प्रयास करें echo "$HOME"और echo '$HOME'। इसलिए मैंने इसका उपयोग करने का सुझाव दिया "
डैनियल बेक

0

आप अधिक सरल कमांड का उपयोग कर सकते हैं

touch $(date | tr ' ' '-')

थोड़ा कम सुरुचिपूर्ण और यकीनन कम पोर्टेबल, लेकिन, हाँ, यह भी काम करेगा।
स्कॉट

ठीक है, जब से मुझे पता है कि आप इसे पढ़ रहे हैं, मैं थोड़ा और विस्तार में जाऊंगा: डैनियल का जवाब एक ज्ञात और पूरी तरह से नियंत्रित प्रारूप में परिणाम देता है। (1) आउटपुट dateआमतौर पर hh: mm: ss के रूप में समय दिखाता है। आपका उत्तर कोलोन युक्त फ़ाइलनाम में परिणाम देता है। यह विंडोज-आधारित फाइल सिस्टम पर एक त्रुटि पैदा कर सकता है। (२) एक साधारण आह्वान से कच्चा उत्पादन dateस्थानीय-निर्भर है; यानी, स्थानीय भाषा के लिए अनुकूलित। कोशिश करें LANG=de_DE dateऔर LANG=fr_FR dateउदाहरण देखें। … (Cont'd)
स्कॉट

(Cont'd)… (2a) इसलिए, (असंभावित) घटना में कि आप कभी भी अपने सिस्टम पर भाषा बदलते हैं, या आप अपनी स्क्रिप्ट और अपने सिस्टम से डेटा फ़ाइलों का संग्रह किसी ऐसे व्यक्ति को देते हैं जिसका सिस्टम कॉन्फ़िगर किया गया है अलग भाषा, एक बेमेल होगी। (मुझे यकीन नहीं है कि यह एक वास्तविक समस्या होगी, लेकिन यह एक सौंदर्य मुद्दा होगा।) (2 बी) मुझे ऐसा करने वाले किसी भी स्थान के बारे में नहीं पता है, लेकिन सैद्धांतिक रूप से एक स्थान हो सकता है जहां dateतारीख लिखता है mm / dd / yy (या dd / mm / yy)। … (Cont'd)
स्कॉट

(Cont'd) ... यदि आपने कभी ऐसी प्रणाली का सामना किया है, तो आपके पास स्लैश वाले फ़ाइलनाम होंगे, और यह त्रुटियों का कारण होगा। (3) डैनियल का जवाब एक परिणाम देता है जहां लेक्सिकोग्राफिक (यानी, वर्णमाला) क्रम, जैसा कि द्वारा उत्पादित lsया *, कालानुक्रमिक क्रम से मेल खाता है। अपने जवाब के साथ, सभी Friफ़ाइलों को किसी कोषगत क्रमबद्ध सूची की शुरुआत में हो जाएगा, और Aprऔर Augसभी अन्य महीने से पहले दिखाई देगा।
स्कॉट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.