स्ट्रिंग से तारीख पार्स करना

Fish Shell:
स्ट्रिंग से तारीख पार्स करना

कैसे करें:

Fish Shell में, आपके पास स्ट्रिंग्स से दिनांक पार्स करने के लिए विशेष रूप से डिजाइन किए गए निर्मित कमान्ड नहीं होते हैं। इसके बजाय, आप बाहरी उपकरण जैसे date (Linux और macOS में उपलब्ध) पर निर्भर करते हैं या जटिल पार्सिंग के लिए GNU date जैसे लोकप्रिय तृतीय-पक्ष उपकरणों का लाभ उठाते हैं। यहाँ इसका दृष्टिकोण है:

Fish के साथ date का उपयोग करते हुए:

“YYYY-MM-DD” फॉर्मेट में एक दिनांक स्ट्रिंग पार्स करने के लिए, आप date कमान्ड का उपयोग -d (या GNU date के लिए --date) विकल्प के साथ उस स्ट्रिंग के बाद कर सकते हैं। + विकल्प का उपयोग आउटपुट को प्रारूपित करने के लिए किया जाता है।

set date_str "2023-04-01"
date -d $date_str +"%A, %d %B %Y"
# आउटपुट: शनिवार, 01 अप्रैल 2023

macOS के लिए (जिसके लिए -j और -f झंडे का अलग प्रारूप आवश्यक है):

set date_str "2023-04-01"
date -j -f "%Y-%m-%d" $date_str +"%A, %d %B %Y"
# आउटपुट: शनिवार, 01 अप्रैल 2023

GNU date के साथ जटिल पार्सिंग के लिए:

GNU date स्ट्रिंग प्रारूपों के साथ अधिक लचीला है। यह स्वचालित रूप से कई सामान्य दिनांक स्ट्रिंग प्रारूपों का पता लगा सकता है, बिना इनपुट प्रारूप को स्पष्ट रूप से निर्दिष्ट किए:

set complex_date_str "April 1, 2023 14:00"
date -d "$complex_date_str" '+%Y-%m-%d %H:%M:%S'
# आउटपुट: 2023-04-01 14:00:00

हालांकि, जब ऐसे दिनांक स्ट्रिंग्स के साथ काम किया जा रहा हो जिन्हें स्वचालित रूप से पहचाना नहीं जा सकता है या जब इनपुट प्रारूप पर सटीक नियंत्रण की आवश्यकता होती है, तो GNU date के साथ इनपुट प्रारूप को स्पष्ट करना सीधे समर्थित नहीं है। ऐसे मामलों में, स्ट्रिंग की पूर्व-प्रक्रिया करने या अधिक जटिल दिनांक पार्सिंग दिनचर्या के लिए डिजाइन किए गए अन्य उपकरण का उपयोग करने पर विचार करें।