वहाँ grep, awk और sed के लिए एक बुनियादी ट्यूटोरियल है? [बन्द है]


95

मैं थोड़ी देर के लिए लिनक्स उपयोगकर्ता रहा हूं, और मैंने अधिकांश सामान्य कमांड लाइन उपयोगिताओं की बहुत अच्छी समझ हासिल की है। हालांकि, जो कि प्रोग्रामिंग के संबंध में फिर से और ऊपर आ रहे हैं grep, awkऔर sed

केवल उसी चीज के बारे में, जिसके लिए मैंने grep का उपयोग किया है, वह लॉग फाइल में फ़ाइलों को खोजने के लिए उसमें सामान भर रही है, psइत्यादि का आउटपुट जिसका मैंने उपयोग नहीं किया है awkया बिल्कुल भी नहीं sed। क्या इन उपयोगिताओं के लिए कोई अच्छा ट्यूटोरियल है?



मैंने हमेशा regex सीखना बंद कर दिया है क्योंकि मैं खुद से कहता हूं कि मैं एक दिन इसे क्लेयर के मूल पत्रों को तर्क पर पढ़कर सीखूंगा, जिसने कंप्यूटर में व्यापक रूप से उपयोग होने से पहले अवधारणा का आविष्कार किया था।
ixtmixilix

मैं gkkv से सहमत हूं: यदि आपको ये सीखने की जरूरत है, तो आप पर्ल को भी सीख सकते हैं, यह वही करता है grep, sedऔर awk(और लगभग उसी तरह) और शीर्ष पर बहुत कुछ।
रीयरियरपोस्ट

मुझे हमेशा thegeekstuff.com पसंद है। वे सीधे उदाहरणों में कटौती करते हैं, सामान्य manपृष्ठ के विपरीत जो 90% फुटनोट्स की तरह लगता है।
isomorphismes

जवाबों:


65

AWK सारणीबद्ध डेटा के लिए विशेष रूप से अनुकूल है और कुछ विकल्पों की तुलना में कम सीखने की अवस्था है।

AWK: एक ट्यूटोरियल और परिचय

एक AWK प्राइमर (पूरी लिंक )

RegularExpressions.info

sed ट्यूटोरियल

grep ट्यूटोरियल

info sed, info grepऔर info awkयाinfo gawk


19

O'Reilly sed और awk बुक एर sed और awk के लिए बहुत अच्छा है।


11

मैंने एक पुस्तक लिखी है sed- निश्चित गाइड टू सेड- इसमें एक ट्यूटोरियल शामिल है। यह पूरी तरह से शामिल किया गया sedहै, साथ ही जैसे संबंधित आदेशों grep, tr, headऔर tail। मैंने पूरी तरह से नियमित अभिव्यक्ति को पूरी तरह से कवर किया है जो मैंने कहीं और देखा है।

मैं दूसरों से सहमत हूं कि नियमित रूप से अच्छी तरह से समझने के लिए ठोस समझ बहुत महत्वपूर्ण है। मैं यह भी मानता हूं कि sedसरल कार्यों के लिए सबसे अच्छा उपयोग किया जाता है, अधिक जटिल स्क्रिप्ट जल्दी से अस्पष्ट हो जाती हैं।

मैं असहमत हूं जो awkअप्रचलित है, बस विपरीत है। यह कई यूनिक्स चीजों (जैसे vi) की तरह है, एक सीखने की अवस्था है, लेकिन यह इसके लायक है।

मैं के awkस्थान पर उपयोग करने के सुझाव से असहमत हूं grep। मेरे अनुभव से कोई मतलब नहीं है। grepइतना महान और सरल है।


मैं दूसरी grepबात करता हूं - अगर आप मदद कर सकते हैं तो आप फ्रीवे पर ट्रैक्टर न लें। और इसकी एक बहुत अच्छी किताब, भी - धन्यवाद।
mikeserv

3

O'Rielly द्वारा प्रकाशित रेगुलर एक्सप्रेशंस कुकबुक आपको किसी भी भाषा में कहीं भी उपयोग करने के लिए पर्याप्त होगा जो उनका उपयोग करता है।


3

पुस्तक के लेखक हैं कर्निगन और पाइक शीर्षक कुछ इस तरह है "द यूनिक्स प्रोग्रामिंग पर्यावरण"।

जिस पुस्तक से मुझे वास्तव में पता चला था उसे "एन इंट्रोडक्शन टू बेरिकली यूनिक्स" कहा जाता था।


2

यदि आप इन 3 (grep, sed और awk) में से एक सीखना चाहते हैं, तो आप बस awk / gawk सीख सकते हैं । awk grep और sed के फंक्शन्स कर सकते हैं, अर्थात टेक्स्ट को सर्च / रिप्लेस करने के लिए regex का उपयोग कर सकते हैं, और साथ ही क्योंकि यह एक प्रोग्रामिंग लैंग्वेज भी है। यदि आप gawk / awk के अंदर के बाहरी भाग को सीखते हैं, तो आपको grep / sed / wc / cut आदि का उपयोग करने की आवश्यकता नहीं होगी। बस एक उपकरण ऐसा करता है।


ओह, btw, हम भी awk की जरूरत नहीं है, आप बस का उपयोग करें g++ -x c++ - -o /tmp/prog && /tmp/progऔर अपने आदेश टाइप कर सकते हैं । उन सभी पर शासन करने के लिए एक उपकरण! :-)
रेयान

1
जब आपको बस एक फाइल में सीधे बाइनरी लिख सकते हैं तो एक कंपाइलर की आवश्यकता क्या है? यदि आप आलसी महसूस कर रहे हैं, तो बिल्ली करेगी, या एड करेगी।
कैस

1

मेरी राय में, awk अधिक या कम अप्रचलित है (हालांकि, अन्य लोग इस राय पर दृढ़ता से बहस करेंगे), ज्यादातर लोग जिन्हें मैं आजकल जानता हूं, इसके बजाय कुछ स्क्रिप्ट भाषा का उपयोग करते हैं जैसे कि perl या आज अक्सर उन्नत पाठ हेरफेर के लिए अजगर। सरल पाठ हेरफेर कार्यों के लिए sed महान है, मैं हर समय इसका उपयोग करता हूं। मैंने इसे मुख्य रूप से सीड वन-लाइनर्स जैसे http://sed.sourceforge.net/sed1line.txt पर देखकर सीखा । Grep के बारे में: वैसे आप मूल रूप से नियमित भावों की ठोस समझ चाहते हैं (सेड के लिए भी आवश्यक)। मैं यहाँ सिर्फ texinfo मैनुअल का इस्तेमाल किया।


10
awk अभी भी अन्य कमांड से पाइप किए गए डेटा में हेरफेर करने के लिए बहुत उपयोगी है। सरल कमांड लाइन उपयोग के लिए, मैं इसे अभी तक अप्रचलित नहीं मानूंगा।
MaQleod

इसके अलावा यह POSIX के कारण कई प्रणालियों पर उपलब्ध होना चाहिए।
13

1
अधिकांश 'उन्नत एडब्ल्यूके' संभवतः पर्ल या अजगर या जो भी हो, के साथ बेहतर किया जाता है, लेकिन साधारण सामान को अजीब से करना अच्छा है।
14:45 पर user455

1
किसी समस्या को हल करने की कोशिश करते समय आपको ऑनलाइन मिलने वाले विभिन्न उत्तरों को समझने के लिए Awk अभी भी उपयोगी है। आपको अक्सर ऑनलाइन ऐसे उदाहरण मिल जाएंगे जो अजीब तरह के कथनों का उपयोग करते हैं awk '{print $3}'
स्टीवन डी

1
काम पर, और घर पर, मैं और अधिक अकड़ तो sed का उपयोग करें। dpkg -lआउटपुट की तरह निश्चित सारणीबद्ध डेटा पर कुछ भी नहीं जा सकता है । मैं इसमें कुछ भी जटिल नहीं करूँगा, लेकिन मैं बिना जाग के एक उपकरण कम करूँगा। मैं अधिक सामान्य प्रोग्रामिंग भाषाओं के लिए भी ऐसा नहीं कह सकता, जितना कि मैं उनमें से कुछ को पसंद करता हूं।
जेएम बेकर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.