Bash:
स्ट्रिंग से तारीख पार्स करना
कैसे करें:
Bash स्वयं में तारीख पार्स करने की सीमित क्षमताओं के साथ आता है, अक्सर अधिक जटिल मैनिपुलेशन के लिए date
और awk
जैसे बाहरी उपकरणों पर निर्भर करता है। यहाँ बताया गया है कि आप एक विशेष स्वरूप को कैसे पार्स कर सकते हैं और फिर इसे date
कमांड के साथ उपयोग करके इसे परिवर्तित करने या कार्यों को प्रदर्शित करने के लिए।
उदाहरण 1: एक दिनांक स्ट्रिंग को निकालें और इसे दूसरे स्वरूप में परिवर्तित करें।
मान लीजिए कि आपके पास yyyy-mm-dd
स्वरूप में एक तारीख है और आप इसे dd-mm-yyyy
में परिवर्तित करना चाहते हैं।
original_date="2023-04-01"
formatted_date=$(date -d $original_date '+%d-%m-%Y')
echo $formatted_date
नमूना आउटपुट:
01-04-2023
यह इनपुट दिनांक स्ट्रिंग को निर्दिष्ट करने के लिए date
कमांड के साथ -d
विकल्प का उपयोग करता है, और आउटपुट को स्वरूपित करने के लिए +%d-%m-%Y
।
उदाहरण 2: awk
का उपयोग करके एक संरचित पाठ पंक्ति से एक दिनांक को पार्स करें और इसे परिवर्तित करें।
मान लीजिए आपके पास एक लॉग फाइल पंक्ति है:
2023-04-01 12:00:00 User logged in
आप awk
और date
का उपयोग करके दिनांक भाग को निकाल सकते हैं और इसे परिवर्तित कर सकते हैं।
log_line="2023-04-01 12:00:00 User logged in"
date_part=$(echo $log_line | awk '{print $1}')
formatted_date=$(date -d $date_part "+%A, %B %d, %Y")
echo $formatted_date
नमूना आउटपुट:
Saturday, April 01, 2023
यह उदाहरण awk
का उपयोग करता है लॉग लाइन को विभाजित करने और दिनांक भाग को निकालने के लिए ($1
पहला स्पेस-विभाजित क्षेत्र को दर्शाता है), और फिर इसे पुनः स्वरूपित करने के लिए date
का उपयोग किया जाता है।
तृतीय-पक्ष उपकरणों का उपयोग
जब अधिक जटिल पार्सिंग की बात आती है या जब विविध प्रकार के तारीख स्वरूपों से निपटना होता है, तो तृतीय-पक्ष उपकरण जैसे dateutils
बहुत सहायक हो सकते हैं।