एसड: लर्निंग शैल स्क्रिप्टिंग सेड टर्मिनल कमांड का उपयोग करना

एसड: लर्निंग शैल स्क्रिप्टिंग सेड टर्मिनल कमांड का उपयोग करना

एसड: लर्निंग शैल स्क्रिप्टिंग सेड टर्मिनल कमांड का उपयोग करना

कमांड "sed" जीएनयू / लिनक्स प्रकार के मुफ्त ऑपरेटिंग सिस्टम में यह एक बहुत ही बहुमुखी कमांड है, क्योंकि यह बदले में है इसे "इंटरैक्टिव" के बजाय "फ्लो" के लिए उन्मुख टेक्स्ट एडिटर माना जाता है, चूंकि यह इनपुट के रूप में एक फ़ाइल या मानक इनपुट को स्वीकार करता है, फिर प्रत्येक पंक्ति को संसाधित करता है और परिणाम मानक आउटपुट पर भेजा जाता है। यानी, SED (स्ट्रीम ईडीटर) हमें कमांड की एक श्रृंखला या एक कमांड फाइल के आधार पर फ़ाइल की विभिन्न लाइनों की सामग्री को संशोधित करने की अनुमति देता है।

आमतौर पर, कमांड «sed» का उपयोग फिल्टर के रूप में किया जाता है, क्योंकि यह आपके डेटा प्रविष्टि की प्रत्येक पंक्ति को पढ़ता है और फिर अनुरोधित कार्यों को करता है जो आमतौर पर पढ़े जाते हैं, निकालते हैं, संशोधित करते हैं और दिखाते हैं या सहेजते हैं। यद्यपि इसकी शक्ति ऐसी है इसके अलावा, यह हमें एक आरामदायक तरीके से, लाइनों, रिकॉर्ड्स को हटाने या किसी फाइल की लाइनों के भीतर कैरेक्टर स्ट्रिंग्स को बदलने की अनुमति देता है।

"Sed" कमांड का परिचय

पहले से ही अन्य पिछले प्रकाशनों में DesdeLinux हमने उक्त कमांड के उपयोग के बारे में बात की है और उदाहरण दिखाए हैं, जैसे कि: किसी फ़ाइल से विशिष्ट लाइनें कैसे हटाएं ... y टर्मिनल के साथ: रेगुलर एक्सप्रेशंस II का उपयोग करना: प्रतिस्थापन, इसलिए इस बार हम सीधे और अधिक उन्नत और व्यावहारिक रूप से इसका उपयोग करते हुए देखेंगे।

मूल रूप से कमांड «sed» में निम्नलिखित सिंटैक्स है:

sed comandos_sed archivo

जहाँ "कमांड किया गया" एक या एक से अधिक विशिष्टताओं से मेल खाती है, जो उन पंक्तियों के साथ क्या करना है, जिनसे पढ़ा जाता है "पुरालेख"।

एक अधिक व्यापक उपयोग हमें निम्नलिखित सिंटैक्स के साथ छोड़ देता है:

sed [-ns] '[direccion] instruccion argumentos'

कहाँ:

SED कमांड उपयोग प्रारूप

व्यावहारिक उदाहरण

एक रास्ते में सूची फ़ाइलें / फ़ोल्डर

उपयोगी कमांड लाइन जिसका उपयोग किसी निर्दिष्ट एक्स पथ की सामग्री को सूचीबद्ध करने के लिए किया जा सकता है और फिर किसी खोजे गए आइटम का पता लगाने / गिनने / छानने और प्रदर्शन करने के लिए एक बाद की कार्रवाई को इंगित करता है।

ls -l | awk '{ print $NF }' | sed 1d

उदाहरण:

उदाहरण 1: SED कमांड - शेल स्क्रिप्टिंग

"Sed" कमांड का उपयोग करने वाला यह दूसरा संस्करण बहुत उपयोगी है:

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

उदाहरण 4: शेल स्क्रिप्टिंग के लिए SED कमांड

एक क्रम बनाएँ

स्क्रीन पर दिखाएँ या किसी संख्यात्मक अनुक्रम (या किसी अन्य इनपुट) में बनाई गई फ़ाइल को सहेजें, लेकिन क्षैतिज (रैखिक) और ऊर्ध्वाधर रूप में नहीं जिसे बाद में अन्य प्रक्रियाओं के लिए पढ़ा जा सकता है।

seq 100|tr '\n' ' '|sed 's, $,\n,g'

उदाहरण 2: शेल स्क्रिप्टिंग के लिए SED कमांड

एक ही उदाहरण कमांड के संयोजन से किया जा सकता है «प्यास ” साथ "Printf" जैसा की नीचे दिखाया गया:

printf '%s ' {1..100}|sed 's/ $/\n/'

उदाहरण 3: शेल स्क्रिप्टिंग के लिए SED कमांड

बहिष्करण के साथ फ़ाइलें हटाएं

फ़ाइल सिस्टम पथ के माध्यम से स्थानांतरण, फ़ाइलों को छोड़ने और फिर बाकी सामग्री को हटाने के लिए पैटर्न की तलाश में। सटीक और सावधानीपूर्वक सफाई के लिए बहुत उपयोगी है।

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

उदाहरण 5: शेल_स्क्रिप्टिंग के लिए SED कमांड

वर्चुअल MAC एड्रेस बनाएं

खतरनाक साइटों को ब्राउज़ करने या हैकिंग कार्यों को अंजाम देने पर यह कदम कंप्यूटर सुरक्षा या सुरक्षा कार्यों के लिए उपयोगी हो सकता है।

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

अन्य कमांड के साथ "sed" कमांड का उपयोग करके समान प्रभाव प्राप्त किया जा सकता है, जैसा कि नीचे दिखाया गया है:

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1

उदाहरण:

उदाहरण 7: शेल स्क्रिप्टिंग के लिए SED कमांड

टर्मिनल प्रॉम्प्ट को अस्थायी रूप से बदलें

यह हमारे प्रॉम्प्ट में अस्थायी रूप से पैरामीटर डालने में हमारी मदद कर सकता है जो हमारे लिए उपयोगी हो सकता है जबकि हम एक विशेष गतिविधि करते हैं। इस उदाहरण में हम केवल प्रॉम्प्ट प्रदर्शित करने के तरीके को बदलेंगे।

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

उदाहरण 8. शेल स्क्रिप्टिंग के लिए SED कमांड

"Ps" कमांड के आउटपुट को प्रबंधित करें

«पीएस» कमांड के आउटपुट को प्रारूपित करने की अनुमति देने के लिए बहुत ही व्यावहारिक कमांड ऑर्डर, जो कि टर्मिनल प्रोसेस मैनेजर से प्राप्त किया गया है।

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

उदाहरण:

उदाहरण 9: शेल स्क्रिप्टिंग के लिए SED कमांड

यह खपत की गई मेमोरी के प्रतिशत के अनुसार प्रक्रियाओं के लिए लागू किया जा सकता है:

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

कमांड "सीड" का उपयोग करके कमांड लाइनों के ये उदाहरण मुझे आशा है कि आप इसे बहुत उपयोगी पाएंगे। और वे सीधे सांत्वना से या अप्रत्यक्ष रूप से एक स्क्रिप्ट (स्वचालित कार्य) में डालने के द्वारा उपयोग किए जाने की सेवा करते हैं।

शेल स्क्रिप्टिंग की अगली पोस्ट में हम अन्य कमांड्स का पता लगाएंगे।

यदि आप कमांड के बारे में थोड़ा और सीखना चाहते हैं तो "sed" इस लिंक पर जाएँ "यूनिक्स और लिनक्स के लिए ट्यूटोरियल और संक्षिप्त गाइड"या"मूल उपयोग»और यदि आप हमारे अपने ब्लॉग में शेल स्क्रिप्टिंग के बारे में अधिक जानना चाहते हैं, आप यहां क्लिक करके इस विषय पर हमारे अन्य प्रकाशनों पर एक नज़र डाल सकते हैं: स्क्रिप्टिंग DesdeLinux.


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।