Ddmmyy के साथ लिनक्स तिथि निर्धारित करें


0

मुझे एक प्रोग्राम से प्राप्त स्ट्रिंग के साथ एक लिनक्स बॉक्स की तारीख निर्धारित करने की आवश्यकता है। इस स्ट्रिंग को ddmmyy के रूप में स्वरूपित किया गया है। क्या इसका उपयोग संभव है कि सीधे या मुझे इसे पहले सुधारने की आवश्यकता है?

वर्तमान में मैंने बिना किसी भाग्य के निम्नलिखित कोशिश की है:

 date +%d%m%y -s "071012"

यह 7. अक्टूबर 2012 होना चाहिए, लेकिन इसकी व्याख्या पीछे की ओर की जाती है और फिर 12. अक्टूबर 07 बन जाती है।

अगर मैं रिवर्स फॉर्मेट का उपयोग करने के लिए तारीख बताने की कोशिश करता हूं:

date +%y%m%d -s "071012"

यह अभी भी 12. 12 अक्टूबर को इसे पढ़ेगा। मैंने इसके बजाय स्ट्रिंग को उल्टा नहीं किया होगा क्योंकि मुझे लगा था कि तारीख का ध्यान रखा जा सकेगा।

जवाबों:


3

+सेट उत्पादन केवल प्रारूप। आपको अपनी स्ट्रिंग को पूर्व-स्वरूपित करने की आवश्यकता है क्या आप -sविकल्प का उपयोग करना चाहते हैं (या तो अपने कार्यक्रम को संशोधित करके या जैसे का उपयोग करके sed)।

आपके मामले में, आप इस में अपने कार्यक्रम के परिणाम को पाइप कर सकते हैं:

sed -e "s/\(..\)\(..\)\(..\)/\\3\\2\\1/"

0

शेल चर में दिनांक संग्रहीत करें, और आप इस तरह दिनांक निर्धारित कर सकते हैं:

dt=`your_program`
date -s "${dt:4:2}${dt:2:2}${dt:0:2}"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.