मैंने अभी अभी सीखना शुरू किया है और मैं उन सभी संस्करणों के बारे में थोड़ा भ्रमित हूँ। क्या कोई "संस्करण" है जो सभी यूनिक्स जैसी प्रणालियों पर पाया जाता है? जैसे, तुम्हें पता है, सादे vi? क्या मानक जाग समर्थन -F विकल्प का समर्थन करता है?
मैंने अभी अभी सीखना शुरू किया है और मैं उन सभी संस्करणों के बारे में थोड़ा भ्रमित हूँ। क्या कोई "संस्करण" है जो सभी यूनिक्स जैसी प्रणालियों पर पाया जाता है? जैसे, तुम्हें पता है, सादे vi? क्या मानक जाग समर्थन -F विकल्प का समर्थन करता है?
जवाबों:
awk - सबसे आम और अधिकांश यूनिक्स जैसी प्रणालियों पर पाया जाएगा, सबसे पुराना संस्करण और नए लोगों के लिए अवर।
mawk - तेज AWK कार्यान्वयन जो यह कोड आधार है एक बाइट-कोड दुभाषिया पर आधारित है।
nawk - जबकि AWK भाषा विकसित की जा रही थी लेखकों ने भ्रम से बचने के लिए एक नया संस्करण (इसलिए n - n ew awk) जारी किया। इसे AWK के पायथन 3.0 की तरह समझें।
gawk - GNU awk से संक्षिप्त। एकमात्र संस्करण जिसमें डेवलपर्स ने i18n समर्थन जोड़ने का प्रयास किया। उपयोगकर्ताओं को अपने स्वयं के "प्लग-इन" का विस्तार करने के लिए अपने स्वयं के सी साझा पुस्तकालयों को लिखने की अनुमति दी। यह संस्करण लिनक्स के लिए मानक कार्यान्वयन है, मूल AWK को यूनिक्स v7 के लिए लिखा गया था।
अन्य संस्करण हैं जैसे कि jawk (java कार्यान्वयन), bwk (ब्रायन डब्ल्यू। कर्निघन का कार्यान्वयन) और इसी तरह।
file /etc/alternatives/awk
लौटती हैsymbolic link to /usr/bin/mawk
आप बस उपयोग कर सकते हैं awk
। यह POSIX द्वारा परिभाषित किया गया है और इसलिए सभी POSIX-अनुरूप सिस्टम पर मौजूद है।
-F
पैरामीटर है कि द्वारा अनिवार्य रूप में अच्छी तरह।
gensub()
, परीक्षण awk
-> के साथ gawk
, और लगता है कि आप जाने के लिए अच्छे हैं ...
gawk --posix
POSIX मानक के अनुसार gawk काम करने के लिए उपयोग कर सकते हैं । यह आपकी स्क्रिप्ट की जांच करता है जो मानक का अनुसरण करता है। आप awk --posix '' 2>/dev/null
उबंटू में उपयोग कर सकते हैं , कोई बात नहीं, अगर गॉक, मॉक या ऑरिजनल-ऑक का इस्तेमाल अको के रूप में किया जाता है, लेकिन पॉज़िक्स-ऑप्शन केवल गॉक् द्वारा पहचाना जाता है। - ऑपिक्सिक्स को मूल-जाग के लिए अंतिम विकल्प होना चाहिए। आप awk -W posix ''
gawk और mawk के साथ उपयोग कर सकते हैं ।
mawk --posix ''
विफल रहता है, यदि आप mawk 1.3.3 का उपयोग करते हैं, लेकिन त्रुटि संदेश के साथ सफल होता है, यदि आप
awk
बस हर * NIX आधारित प्रणाली के बारे में होगा, लेकिन इसका समर्थन करने की सटीक बारीकियों में थोड़ा बदलाव आएगा क्योंकि यह पूरी तरह से संभव है कि यह एक अलग संस्करण के लिए सहानुभूति होगी जो /bin/sh
अक्सर एक विशिष्ट शेल से जुड़ा होता है, अक्सर bash
या एक में से एक इसका व्युत्पन्न। (रिकॉर्ड के लिए, मुझे उन मशीनों का भी पता है, जहाँ पर vi
भी सहानुभूति है vim
।)
विकिपीडिया AWK पेज AWK समझने लगी के लिए एक अच्छा स्टार्टर संदर्भ है। फील्ड सेपरेटर विकल्प ' ' सभी में समर्थित है AWK के वेरिएंट - afaik। -F
/usr/bin/awk
nawk, या gawk, या BusyBox awk (व्यवहार में gawk के समान) को चलाएगा।