सैड - युक्तियाँ और चालें

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

= [सैड] युक्तियाँ और चालें

प्रतिस्थापन

प्रत्येक पंक्ति पर "बार" के साथ "फू" प्रतिस्थापित करें

केवल पहली घटना

sed 's / फू / बार /'

केवल 3 केस के लिए

sed 's / फू / बार / 3'

सभी घटनाएँ

sed 's / foo / bar / g'

आखिरी घटना से ठीक पहले

sed 's / \ ((। * \) foo \ ((। * foo \) / \ 1bar \ 2 /'

केवल आखिरी मामला

sed 's / \ ((। * \) foo / \ 1bar /'

"बार" के साथ "फू" को "प्लॉप" रखने वाली लाइनें

sed '/ plop / s / foo / bar / g'

"बार" के साथ "प्लू" को "प्लॉप" की रेखाओं को छोड़कर "फू"

sed '/ plop /! एस / फू / बार / जी '

प्रत्येक पंक्ति में "फू" या "फू" को "बार" से बदलें

sed 's / [Ff] oo / bar / g'

"ब्लू" या "व्हाइट" या "रेड" को "ग्रीन" से बदलें

sed 's / ब्लू \ | कोरी | लाल / हरा / छ '

प्रदर्शन

पहली पंक्ति (सिर -1)

सेड q

पहली 5 लाइनें (सिर -5)

sed'5 q '

sed'1, 5! d '

अंतिम पंक्ति (पूंछ -1)

sed-n '$ p'

सीड '$! d "

अंतिम 5 लाइनें (पूंछ -5)

sed-e: ae '$ q, N, 6, $ D; बी 0 ए'

2 अंतिम पंक्तियाँ (पूंछ -2)

सीड '$! एन; $! डी '

केवल एक कारण या एक नियमित अभिव्यक्ति की रेखाएँ

सीड-एन '/ पैटर्न / पी'

sed '/ regexp /! d '

केवल रेखाएँ जो एक कारण या नियमित अभिव्यक्ति नहीं है

sed-n '/ pattern /! पी '

sed '/ regexp / d'

एक पैटर्न या एक नियमित अभिव्यक्ति से पहले की रेखा

sed-n '/ pattern / (g; 1? p; h)

एक पैटर्न या एक नियमित अभिव्यक्ति के बाद की रेखा

sed-n '/ regexp / (n, p;)'

हटाना

=== अंतरिक्ष और टैब ==

रिक्त स्थान और टैब निकालना

लाइन की शुरुआत में

sed 's / ^ [\ t] * / /

sed "s / ^ \ s * / / '# पैरामीटर" \ "का उपयोग करना

लाइन के अंत में

sed 's / [\ t] * $ //'

लाइन की शुरुआत और अंत में

sed 's / ^ [\ t] * //; s / [\ t] * $ // '

खाली पंक्ति

खाली लाइनों को हटाने

सभी खाली लाइनें

sed '/ ^ $ / का

एसईडी '/./! का

केवल उन शीर्ष पर

एसईडी '/./, $! का

sed-nr '/ / / / / / / .* / s \ 1 / p' # धन्यवाद Adrien

केवल वे अंत में

sed-e: ae '/ ^ \ n * $ / ($ d N; ba'-e') '

नियमित अंतराल

नियमित अंतराल पर एक पंक्ति को हटा दें

सभी लाइनों जोड़े

sed'1 ~ 2d '

सभी विषम रेखाएँ

sed'2 ~ 2d '

लाइन एन से हर एन लाइनें

sed'3 ~ 2d '# 2 लाइन 3 से सभी लाइनें

कई तरह का

लाइनों में शामिल हों

पंक्ति 2 को 2 से संलग्न करें

सीड '$! एन एस / \ n / / '

3 लाइनों को 3 से संलग्न करें

सीड '$! N s / \ n //; $! एन एस / \ n / /;)

यदि कोई लाइन बैकस्लैश (\) के साथ समाप्त होती है, तो निम्न पंक्ति जोड़ें और पंक्ति के अंत (\ n) को एक स्थान से बदलें

sed-e: ae '/ \ \ $ / N s / \ \ n / /; ta '

यदि कोई रेखा समान चिह्न (=) से शुरू होती है, तो उसे पिछली पंक्ति में जोड़ें और बराबर चिह्न (=) को एक स्थान से बदलें

sed-e: ae '$! एन एस / \ एन = / /; ता'-ई 'पी, डी'

पिछला लेख अगला लेख

शीर्ष युक्तियाँ