awk के साथ शुरुआत: Linux के लिए एक शक्तिशाली टेक्स्ट-प्रोसेसिंग टूल

awk एक बहुमुखी टेक्स्ट-प्रोसेसिंग टूल है, जिसका उपयोग टेक्स्ट फ़ाइलों में डेटा को संसाधित और विश्लेषण करने के लिए किया जाता है। यह पैटर्न स्कैनिंग, डेटा निकालने और रिपोर्ट तैयार करने जैसे कार्यों के लिए विशेष रूप से उपयोगी है। यह मार्गदर्शिका मूल बातों का परिचय देती है और awk को शुरू करने में मदद के लिए व्यावहारिक उदाहरण प्रदान करती है।


परिचय: awk

awk टेक्स्ट प्रोसेसिंग और डेटा निष्कर्षण के लिए डिज़ाइन की गई एक स्क्रिप्टिंग भाषा है। यह लॉग, CSV और कॉन्फ़िगरेशन फ़ाइलों जैसी संरचित टेक्स्ट फ़ाइलों पर काम करती है, जिससे यह सिस्टम एडमिनिस्ट्रेटर, डेवलपर और बड़े डेटासेट के साथ काम करने वाले किसी भी व्यक्ति के लिए आदर्श है।


मूल सिंटैक्स

मूल सिंटैक्स इस प्रकार है:awk कमांड

awk 'pattern { action }' file
  • pattern: मिलान की जाने वाली शर्त निर्दिष्ट करता है।
  • action: मिलान मिलने पर क्या करना है, यह निर्दिष्ट करता है।
  • file: संसाधित की जाने वाली फ़ाइल।

मूल उपयोग

सामान्य उपयोग-मामले इस प्रकार हैं:awk:

1. विशिष्ट कॉलम प्रिंट करना

इस टूल का सबसे सरल उपयोग फ़ाइल के विशिष्ट कॉलम प्रिंट करना है। उदाहरण के लिए, awk का उपयोग करके स्पेस से अलग की गई फ़ाइल के पहले और तीसरे कॉलम को प्रिंट किया जा सकता है:

awk '{ print $1, $3 }' filename

2. पैटर्न मिलान

आप awk का उपयोग केवल तब क्रियाएँ करने के लिए कर सकते हैं जब कोई विशिष्ट पैटर्न मेल खाता है। उदाहरण के लिए, “error” शब्द वाली पंक्तियाँ प्रिंट करने के लिए:

awk '/error/ { print }' filename

3. फ़ील्ड सेपरेटर

यदि आपकी फ़ाइल में कोई भिन्न डिलिमिटर (जैसे, अल्पविराम) है, तो आप इसे -F विकल्प का उपयोग करके निर्दिष्ट कर सकते हैं। उदाहरण के लिए, कॉमा-सेपरेटेड वैल्यू (CSV) फ़ाइल से पहला कॉलम प्रिंट करने के लिए:

awk -F ',' '{ print $1 }' filename

4. अंकगणितीय संक्रियाएँ

awk अंकगणितीय संक्रियाएँ कर सकता है। उदाहरण के लिए, पहले और दूसरे कॉलम के मानों को जोड़ने के लिए:

awk '{ sum = $1 + $2; print sum }' filename

कब awk का उपयोग करना चाहिए?

awk बड़ी टेक्स्ट फ़ाइलों या लॉग के साथ काम करते समय विशेष रूप से उपयोगी है, और तब भी जब आपको विशिष्ट डेटा निकालने, डेटा को फिर से फ़ॉर्मेट करने या गणना करने की आवश्यकता हो।

उदाहरण उपयोग-मामले:

  • लॉग विश्लेषण: किसी विशेष IP पते के सर्वर लॉग में दिखने की संख्या गिनें।
  • डेटा निष्कर्षण: संरचित डेटा फ़ाइलों से विशिष्ट फ़ील्ड निकालें।
  • रिपोर्ट तैयार करना: टेक्स्ट फ़ाइलों के डेटा के आधार पर सारांश या रिपोर्ट तैयार करें।

उन्नत उदाहरण

उन्नत उपयोग-मामले इस प्रकार हैं:awk:

1. पैटर्न की आवृत्तियाँ गिनना

“error” शब्द वाली पंक्तियों की संख्या गिनने के लिए:

awk '/error/ { count++ } END { print count }' filename

2. सशर्त संक्रियाएँ

उन पंक्तियों को प्रिंट करने के लिए जिनमें दूसरे कॉलम का मान 100 से अधिक है:

awk '$2 > 100 { print }' filename

3. कई संक्रियाओं को मिलाना

दूसरे कॉलम के मानों का योग निकालने और केवल “success” वाली पंक्तियाँ प्रिंट करने के लिए:

awk '/success/ { sum += $2 } END { print sum }' filename

निष्कर्ष

awk टेक्स्ट प्रोसेसिंग और डेटा निष्कर्षण के लिए एक शक्तिशाली और बहुमुखी टूल है। मूल बातों में महारत हासिल करके, आप awk का उपयोग करके टेक्स्ट फ़ाइलों को संसाधित करने और कार्यों को स्वचालित करने की अपनी क्षमता को बहुत बढ़ा सकते हैं। ऊपर दिए गए मूल कमांड से शुरुआत करें और जैसे-जैसे आप इसकी क्षमताओं से सहज होते जाएँ, अधिक उन्नत सुविधाओं का पता लगाएँ।

टिप्पणी छोड़ें