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

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 बहुत सहायक हो सकते हैं।