Awk के बारे में जानें: सबसे शक्तिशाली पाठ प्रसंस्करण उपकरण कभी?

प्रकटीकरण: आपका समर्थन साइट को चालू रखने में मदद करता है! हम इस पृष्ठ पर हमारे द्वारा सुझाई गई कुछ सेवाओं के लिए एक रेफरल शुल्क कमाते हैं.


अक्क सबसे बड़ा टेक्स्ट प्रोसेसिंग टूल है जिसकी आपको जरूरत नहीं है। लेकिन अगर आप बहुत सारे डेटा के साथ काम करते हैं, तो आपने शायद इस तरह की चीजों को सोचा है, “इस तालिका से डेटा के दूसरे और पांचवें कॉलम को निकालना वास्तव में अच्छा होगा।” और यह, यह सबसे सरल रूप में है, जो अवाक करता है.

थोड़ा इतिहास

उन दिनों से पहले अधिकांश लोग जानते थे कि एक संबंधपरक डेटाबेस क्या था – और MySQL के विकास से लगभग दो दशक पहले – पाठ फ़ाइलों में डेटा का एक बड़ा संग्रह संग्रहीत किया गया था। सच्चाई यह है कि बहुत सारा डेटा अभी भी उस तरह से संग्रहीत है। यह यूनिक्स ऑपरेटिंग सिस्टम पर विशेष रूप से सच है। उदाहरण के लिए, यूनिक्स / आदि / पासवार्ड फ़ाइल सिस्टम पर प्रत्येक उपयोगकर्ता के लिए एक लाइन के साथ एक पाठ फ़ाइल है, और उपयोगकर्ता के लिए प्रत्येक क्षेत्र एक कोलन द्वारा अलग किया जाता है। उदाहरण के लिए:

व्यवस्थापक: *: 1001: 2001: व्यवस्थापक: / घर / जड़: / घर / श
ब्रायन: *: 1002: 2002: ब्रायन कर्निघन: / होम / ब्रायन: / होम / बैश

बड़ी प्रणालियों पर, ऐसी पासवार्ड फ़ाइलों में हजारों लाइनें हो सकती हैं। आप सोच सकते हैं कि ऐसे समय हो सकते हैं जब आप अपने कंप्यूटर पर खातों वाले लोगों के नामों की पूरी सूची चाहेंगे। इस मामले में, यह 5 वां क्षेत्र होगा। इसलिए 1977 में, तीन प्रोग्रामर ने ऐसा करने के लिए एक सामान्य प्रोग्राम बनाया। वे थे: अल्फ्रेड अहो, पीटर वेनबर्गर, और ब्रायन कर्निघन। और उनके शुरुआती AWK यह है कि अवाक को इसका नाम कैसे मिला.

अवाक उदाहरण

डिफ़ॉल्ट रूप से, Awk मानता है कि क्षेत्र अंतरिक्ष वर्णों द्वारा अलग किए गए हैं। लेकिन आप Awk को एक अलग क्षेत्र विभाजक देने के लिए -F (या -फील्ड-सेपरेटर) ध्वज का उपयोग करके किसी भिन्न वर्ण का उपयोग करने के लिए कह सकते हैं। / Etc / passwd के मामले में, हम “:” वर्ण का उपयोग करना चाहते हैं.

विभाजक चरित्र को देखते हुए, Awk पहले क्षेत्र को चर $ 1, दूसरे क्षेत्र को चर $ 2, और इसी तरह असाइन करता है। पूरी लाइन $ 0 को दी गई है। यदि यह परिचित लगता है, तो ऐसा इसलिए हो सकता है क्योंकि यह कैसे बॉर्न और बैश शेल स्क्रिप्ट कमांड-लाइन मापदंडों का प्रबंधन करता है.

हालांकि Awk लिपियों को फाइलों में डाला जा सकता है, उन्हें आमतौर पर केवल Aw-कमांड के हिस्से के रूप में कमांड-लाइन पर रखा जाता है। यहाँ एक साधारण awk कमांड है जो / etc / passwd फ़ाइल में सूचीबद्ध खातों के सभी उपयोगकर्ता और वास्तविक नामों को आउटपुट करेगा:

awk -F: ” / etc / passwd

यह हमारे उदाहरण / etc / passwd फ़ाइल से निम्न आउटपुट का उत्पादन करेगा:

व्यवस्थापक प्रशासक
ब्रायन ब्रायन कर्निघन

यह वहाँ के रूप में सरल एक Awk कार्यक्रम के बारे में है। लेकिन आप शायद देख सकते हैं कि यह अकेला बहुत शक्तिशाली है। अक्सर, लोग ऐसी फ़ाइल को स्प्रैडशीट में रखना, अनावश्यक कॉलम को हटाना और फिर परिणाम को नई टेक्स्ट फ़ाइल के रूप में सहेजना महत्वपूर्ण है। जब आप एक-दो सेकंड में एक ही काम कर सकते हैं तो यह बोझिल है। और यह सिर्फ शुरुआत है। आप आउटपुट सशर्त बना सकते हैं; आप पूरी तरह से उत्पादन को नियंत्रित कर सकते हैं; यदि आप संख्यात्मक डेटा के साथ काम कर रहे हैं, तो आप इस पर गणना कर सकते हैं; और इतना अधिक.

अवाक संसाधन

अवाक सीखने के लिए बहुत आसान भाषा है। और ऐसा करने के लिए बहुत सारे संसाधन हैं। हम कुछ नीचे जाएंगे.

ऑनलाइन ट्यूटोरियल

नीचे कई ट्यूटोरियल हैं जो बहुत शुरुआत में शुरू होते हैं और आपको भाषा के सबसे महत्वपूर्ण पहलुओं से गुजरते हैं। जो आपको सबसे अधिक उपयोगी लगता है वह आप पर निर्भर करेगा.

  • Grymoire Awk ट्यूटोरियल: यह ब्रूस बार्नेट की Awk का उत्कृष्ट परिचय है। यह सब यूनिक्स ट्यूटोरियल देखें.
  • आम सूत्र: उदाहरण के लिए अवाक: यह आईबीएम से है, और अवाक सीखने के लिए एक दर्द रहित तरीका प्रदान करता है। जब आप इसके साथ कर लें, तो भाग 2 की जाँच अवश्य करें.
  • Awk Tutorial: यह Awk के लिए ट्यूटोरियल पॉइंट इंट्रोडक्शन है जो आपको लिनक्स मशीनों पर इसे डाउनलोड करने और इंस्टॉल करने के माध्यम से भी ले जाता है.
  • एक Aw प्राइमर: यह ट्यूटोरियल बहुत तेज़ है, लेकिन यदि आप शेल स्क्रिप्टिंग के साथ सहज हैं या आपने अतीत में Awk का उपयोग किया है, तो यह एक अच्छा विकल्प है.

पुस्तकें

वहाँ कई अच्छी किताबें हैं जो अवाक के लिए एक आधार प्रदान करती हैं.

  • अहो और कर्णघन द्वारा द अर्क प्रोग्रामिंग लैंग्वेज: यह ऑक पर मूल पुस्तक है। लेकिन मूल डेवलपर्स द्वारा ऐसी अधिकांश पुस्तकों के विपरीत, यह वास्तव में अच्छा और समझने में आसान है.
  • एसईडी & डॉकी एंड रॉबिन्स द्वारा अवाक: यह एक क्लासिक है जो अवाक के साथ-साथ धारा संपादक (सेड) से संबंधित है। दोनों को अक्सर एक साथ उपयोग किया जाता है। ब्याज की भी दलाली और सजगता है: पॉकेट संदर्भ एक बार जब आप सिस्टम के साथ सहज होते हैं.
  • AWK प्रोग्रामिंग: जॉर्ज डकेट द्वारा प्रश्न और उत्तर: यह एक दिलचस्प किंडल पुस्तक है जो कमोबेश कुकबुक है। इसमें बहुत सारे महान प्रश्न शामिल हैं जो कि आपके द्वारा अवेक के सोचने के तरीके और आपके द्वारा उपयोग किए जाने वाले तरीकों का विस्तार करेंगे.
  • प्रभावी awk प्रोग्रामिंग: अर्नोल्ड रॉबिंस द्वारा यूनिवर्सल टेक्स्ट प्रोसेसिंग और पैटर्न मिलान: यह द ऑक प्रोग्रामिंग लैनुज की निरंतरता की तरह है। यह भाषा में गहरा हो जाता है और अवाक, गोक के गनु संस्करण पर ध्यान केंद्रित करता है.

अर्क कार्यान्वयन

1977 में पहले एक के बाद से कई Awk कार्यान्वयन हुए हैं। वास्तव में, 1985 में (The Awk प्रोग्रामिंग भाषा प्रकाशित होने से पहले), Awk का बहुत विस्तार हुआ था। उस संस्करण को अक्सर “नया अवाक” या नॉक कहा जाता है। वर्तमान में उपलब्ध कुछ और लोकप्रिय संस्करण हैं.

  • गौक: यह ग्नू प्रोजेक्ट का अक्क कार्यान्वयन है। यह बेहद लोकप्रिय है और अन्य संस्करणों की तुलना में बेहतर अन्य भाषाओं का समर्थन करता है.
  • BWK: यह “एक सत्य अवाक” है, क्योंकि यह द अर्क प्रोग्रामिंग लानुगे के लिए उपयोग किया जाता है। यह FreeBSD पर व्यापक रूप से उपयोग किया जाता है.
  • Mawk: यह मूल रूप से माइक ब्रेनन द्वारा लिखा गया एक संस्करण है, लेकिन 2009 से थॉमस डिके द्वारा बनाए रखा गया और अद्यतन किया गया। यह ध्यान केंद्रित करने के लिए है.
  • बिजीबॉक्स: यह सामान्य उपकरण है जो कई सरल यूनिक्स उपकरण प्रदान करता है, जिसमें Awk भी शामिल है.

ऑनलाइन मंच

कभी-कभी, आपको केवल प्रश्न पूछने की आवश्यकता होती है। और इंटरनेट पर बहुत सारे लोग हैं जो अवाक को अच्छी तरह से जानते हैं। आपके सवालों के जवाब पाने के लिए यहां कुछ बेहतर स्थान दिए गए हैं.

  • Comp.lang.awk Google Group: यह एक अपेक्षाकृत सक्रिय फ़ोरम है जो अच्छी तरह से जाँच के लायक है.
  • स्टैक ओवरफ्लो अवेक प्रश्न: यह उन नए प्रश्नों का एक पेज है, जिन्हें अवाक के साथ करने के लिए टैग किया गया था। अपने स्वयं के प्रश्नों को रखने के लिए यह एक महान संदर्भ और जगह है.
  • Awk Reddit: यह Awk के लिए सब्रेडिट है। यह बहुत सक्रिय नहीं है, लेकिन इसके आसपास बहुत सारे जानकार लोग हैं, और यह उत्तर पाने के लिए एक अच्छी जगह है.

सारांश

Awk टेक्स्ट प्रोसेसिंग के लिए एक बेहतरीन भाषा है। और यह आश्चर्यजनक चीजें कर सकता है यदि आप भाषा को काफी दूर तक धकेलना चाहते हैं। एक ही समय में, यह वाक्यविन्यास काफी सरल है, कि यह जल्दी से आपके काम करने के उपकरण सेट का हिस्सा बन सकता है। यहां प्रस्तुत संसाधन आपको वे सभी सहायता प्रदान करनी चाहिए जिनकी आपको आवश्यकता होगी.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map