उन्नत पाठ हेरफेर (sed, awk)
'sed' से स्ट्रीम संपादन और 'awk' से शक्तिशाली पाठ संसाधन, पैटर्न स्कैनिंग और डेटा निष्कर्षण का अन्वेषण करें।
उन्नत पाठ हेरफेर (sed, awk), CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
sed से धारा संपादन
sed, जिसका संक्षिप्त रूप "धारा संपादक" है, पाठ को पार्स करने और रूपांतरित करने के लिए एक शक्तिशाली कमांड-लाइन उपयोगिता है। यह पाठ की धाराओं को पंक्ति-दर-पंक्ति संसाधित करती है। इसे एक गैर-संवादात्मक पाठ संपादक की तरह समझें।
sed एक पंक्ति पढ़ती है, उस पर कोई कमांड (जैसे प्रतिस्थापन या विलोपन) लागू करती है, परिणाम दिखाती है और फिर अगली पंक्ति पर चली जाती है। इससे यह बड़ी फ़ाइलों या पाइप किए गए डेटा के लिए बहुत प्रभावी बनती है।
सरल पाठ प्रतिस्थापन
sed का सबसे सामान्य उपयोग पाठ को प्रतिस्थापित करना है। हम s कमांड का उपयोग करते हैं, जिसके बाद एक परिसीमक (अक्सर /), खोजा जाने वाला पैटर्न, एक और परिसीमक, प्रतिस्थापन पाठ और अंत में एक परिसीमक आता है।
वाक्यविन्यास: sed 's/pattern/replacement/' filename
किसी नमूना फ़ाइल में "apple" को "orange" से बदलकर देखें:
#!/bin/bash
# Create a sample file
echo "I like red apple." > fruits.txt
echo "My favorite fruit is apple." >> fruits.txt
echo "Another apple here." >> fruits.txt
echo "Original content:"
cat fruits.txt
echo ""
echo "---"
echo "Running sed command:"
sed 's/apple/orange/' fruits.txt
# Clean up
rm fruits.txtवैश्विक और केस-असंवेदी
डिफ़ॉल्ट रूप से, sed प्रत्येक पंक्ति में किसी प्रतिरूप की केवल पहली आवृत्ति को बदलता है। किसी पंक्ति में मौजूद सभी आवृत्तियों को बदलने के लिए g (वैश्विक) फ़्लैग का उपयोग करें।
केस-असंवेदी खोज करने के लिए i फ़्लैग का उपयोग करें। आप फ़्लैग को gi की तरह संयोजित कर सकते हैं।
उदाहरण: "apple" की सभी आवृत्तियों को (केस की परवाह किए बिना) "banana" से बदलें।
#!/bin/bash
# Create a sample file
echo "Apple is good." > fruits.txt
echo "I eat an apple and another Apple." >> fruits.txt
echo "Apples are tasty." >> fruits.txt
echo "Original content:"
cat fruits.txt
echo ""
echo "---"
echo "Running sed command (s/apple/banana/gi):"
sed 's/apple/banana/gi' fruits.txt
# Clean up
rm fruits.txtsed से पंक्तियाँ हटाना
आप किसी विशिष्ट प्रतिरूप से मेल खाने वाली पूरी पंक्तियों को हटाने के लिए भी sed का उपयोग कर सकते हैं। इसके लिए d आदेश का उपयोग किया जाता है।
वाक्य-विन्यास: sed '/pattern/d' filename
यह अवांछित पंक्तियों को हटाने के लिए उपयोगी है, जैसे "DEBUG" वाली लॉग प्रविष्टियाँ या खाली पंक्तियाँ।
आइए, "error" वाली पंक्तियाँ हटाएँ:
#!/bin/bash
# Create a sample file
echo "INFO: User logged in." > log.txt
echo "WARNING: Disk space low." >> log.txt
echo "ERROR: File not found." >> log.txt
echo "INFO: Operation complete." >> log.txt
echo "ERROR: Permission denied." >> log.txt
echo "Original content:"
cat log.txt
echo ""
echo "---"
echo "Running sed command (/error/d):"
sed '/error/d' log.txt
# Clean up
rm log.txtawk: प्रतिरूप स्कैनिंग भाषा
awk एक और शक्तिशाली पाठ संसाधन उपकरण है, जिसका उपयोग अक्सर डेटा निकालने और रिपोर्ट बनाने के लिए किया जाता है। sed जहाँ एक स्ट्रीम संपादक है, वहीं awk पाठ के लिए बनाई गई प्रोग्रामिंग भाषा जैसा है।
awk पाठ फ़ाइलों को sed की तरह ही पंक्ति-दर-पंक्ति संसाधित करता है। हालाँकि, यह प्रत्येक पंक्ति को एक "रिकॉर्ड" मानता है और विभाजक के आधार पर रिकॉर्ड को "फ़ील्ड" (स्तंभों) में बाँटता है।
डिफ़ॉल्ट रूप से, awk फ़ील्ड विभाजक के रूप में खाली स्थान (स्पेस, टैब) का उपयोग करता है।
डेटा फ़ील्ड तक पहुँचना
awk में फ़ील्ड को $1, $2, $3 आदि से दर्शाया जाता है। $0 पूरी पंक्ति को दर्शाता है।
आप घुंघराले ब्रेसिज़ {} के भीतर print आदेश का उपयोग करके विशिष्ट फ़ील्ड प्रिंट कर सकते हैं। वाक्य-विन्यास है: awk '{ print $FIELD_NUMBER }' filename
आइए, एक सरल डेटा फ़ाइल से पहला और तीसरा फ़ील्ड प्रिंट करें:
#!/bin/bash
# Create a sample file
echo "Name Age City" > data.txt
echo "Alice 30 NewYork" >> data.txt
echo "Bob 24 London" >> data.txt
echo "Charlie 35 Paris" >> data.txt
echo "Original content:"
cat data.txt
echo ""
echo "---"
echo "Running awk command (print $1, $3):"
awk '{print $1, $3}' data.txt
# Clean up
rm data.txtawk से पंक्तियों को फ़िल्टर करना
sed की तरह, awk भी प्रतिरूपों के आधार पर पंक्तियों को फ़िल्टर कर सकता है। आप क्रिया-खंड से पहले एक प्रतिरूप निर्दिष्ट करते हैं। क्रिया केवल उन पंक्तियों पर की जाएगी जो प्रतिरूप से मेल खाती हैं।
वाक्य-विन्यास: awk '/pattern/ { action }' filename
आइए, "London" के लोगों के केवल नाम खोजकर प्रिंट करें:
#!/bin/bash
# Create a sample file
echo "Name Age City" > data.txt
echo "Alice 30 NewYork" >> data.txt
echo "Bob 24 London" >> data.txt
echo "Charlie 35 Paris" >> data.txt
echo "David 28 London" >> data.txt
echo "Original content:"
cat data.txt
echo ""
echo "---"
echo "Running awk command (/London/ {print $1}):"
awk '/London/ {print $1}' data.txt
# Clean up
rm data.txtawk से आरंभ और समापन करना
awk आपको किसी भी पंक्ति को संसाधित करने से पहले (BEGIN खंड) और सभी पंक्तियों के संसाधित हो जाने के बाद (END खंड) की जाने वाली क्रियाएँ निर्दिष्ट करने देता है।
BEGIN खंड शीर्षक प्रिंट करने या चरों को आरंभ करने के लिए बहुत उपयोगी हैं। END खंड सारांश, योग या पाद-लेख प्रिंट करने के लिए उपयुक्त हैं।
आइए, अपने परिणाम में एक शीर्षक और पाद-लेख जोड़ें:
#!/bin/bash
# Create a sample file
echo "Alice 30 NewYork" > data.txt
echo "Bob 24 London" >> data.txt
echo "Charlie 35 Paris" >> data.txt
echo "Original content:"
cat data.txt
echo ""
echo "---"
echo "Running awk command (BEGIN/END):"
awk 'BEGIN { print "--- User Data ---" } { print $1, $2 } END { print "--- End Report ---" }' data.txt
# Clean up
rm data.txtawk में सशर्त तर्क
फ़ील्ड के मानों या अन्य शर्तों के आधार पर तर्क लागू करने के लिए आप awk के क्रिया-खंडों में if कथनों का उपयोग कर सकते हैं। इससे जटिल डेटा फ़िल्टर करने और रूपांतरित करने के लिए awk बहुत शक्तिशाली बन जाता है।
वाक्य-विन्यास: awk '{ if (condition) { action } }' filename
आइए, केवल 25 वर्ष से अधिक आयु वाले उपयोगकर्ताओं को प्रिंट करें:
#!/bin/bash
# Create a sample file
echo "Alice 30 NewYork" > data.txt
echo "Bob 24 London" >> data.txt
echo "Charlie 35 Paris" >> data.txt
echo "Diana 27 Berlin" >> data.txt
echo "Original content:"
cat data.txt
echo ""
echo "---"
echo "Running awk command (if $2 > 25):"
awk '{ if ($2 > 25) { print $1, $2 } }' data.txt
# Clean up
rm data.txtत्वरित जाँच: sed और awk
names.txt नामक फ़ाइल में निम्नलिखित सामग्री है:
John Doe,30,New York
Jane Smith,25,London
Peter Jones,40,Paris
निम्नलिखित में से कौन-सा आदेश 30 वर्ष से अधिक आयु वाले लोगों के केवल नाम (पहला फ़ील्ड) दिखाएगा?
पुनरावृत्ति: sed और awk की शक्ति
अब आपने स्ट्रीम संपादन के लिए sed और उन्नत पाठ संसाधन के लिए awk की शक्ति का उपयोग कर लिया है!
sedपंक्ति-दर-पंक्ति सरल प्रतिस्थापन, विलोपन और रूपांतरण के लिए बिल्कुल उपयुक्त है।awkसंरचित पाठ का विश्लेषण करने, फ़ील्ड के साथ काम करने और डेटा निकालने व रिपोर्ट बनाने के लिए सशर्त तर्क लागू करने में उत्कृष्ट है।
Linux वातावरण में स्क्रिप्टिंग, लॉग विश्लेषण और डेटा में हेरफेर के लिए ये उपकरण अत्यंत आवश्यक हैं।
एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 142
- पाठ
- 568
अक्सर पूछे जाने वाले प्रश्न
क्या “उन्नत पाठ हेरफेर (sed, awk)” पाठ निःशुल्क है?
हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “उन्नत पाठ हेरफेर (sed, awk)” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“उन्नत पाठ हेरफेर (sed, awk)” में मैं क्या सीखूँगा?
'sed' से स्ट्रीम संपादन और 'awk' से शक्तिशाली पाठ संसाधन, पैटर्न स्कैनिंग और डेटा निष्कर्षण का अन्वेषण करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“उन्नत पाठ हेरफेर (sed, awk)” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- उन्नत पाठ हेरफेर (sed, awk)
- संग्रहण और संपीड़न (tar, gzip, unzip)
- डिस्क उपयोग और सिस्टम जानकारी (df, du, uname)
- डेटा को क्रमबद्ध करना और डुप्लिकेट हटाना (sort, uniq, cut)