सेड का उपयोग करके फ़ाइल से लाइन्स हटाएं

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

इस यूनिक्स कमांड का उपयोग कमांड लाइन प्रोसेसिंग के लिए किया जाता है। इस उपयोगिता का उपयोग किसी फ़ाइल से भावों को हटाने के लिए किया जा सकता है, जिसे एक निर्दिष्ट परिसीमन (जैसे कि अल्पविराम, टैब या स्थान) द्वारा पहचाना जा सकता है, पंक्ति संख्या द्वारा, या स्ट्रिंग, अभिव्यक्ति या पंक्ति के पते की खोज करके एसईडी का सिंटैक्स

Sed: एक फ़ाइल से एक या अधिक लाइनें हटाएं

यहाँ एक फ़ाइल से एक या अधिक लाइनें निकालने का तरीका बताया गया है।

वाक्य - विन्यास

 sed '[/] d'

sed '{[/] [, ] [/] d'

/.../ = = परिसीमनकर्ता

n = पंक्ति संख्या

string = स्ट्रिंग लाइन में पाई जाती है

regex = खोजे गए पैटर्न के अनुरूप नियमित अभिव्यक्ति

addr = एक पंक्ति का पता (संख्या या पैटर्न)

d = हटाना

एसड के उदाहरण

उपरोक्त सिंटैक्स का उपयोग कैसे करें, इसके कुछ उदाहरण यहां दिए गए हैं।

तीसरी पंक्ति को हटाने के लिए निम्नलिखित कोड का उपयोग करें:

 sed '3D' fileName.txt 

लाइन का उपयोग करके स्ट्रिंग "awk, " निकालें:

 sed '/ awk / d' filename.txt 

आप टाइप करके अंतिम पंक्ति को हटा सकते हैं:

 sed '$ d' filename.txt 

या के माध्यम से सभी खाली लाइनों को हटा दें:

 sed '/ ^ $ / d' filename.txt

sed '/ // -d' filename.txt

एक रेगुलर एक्सप्रेशन (डिजिटल वर्णों वाले एक को हटाकर, लाइन के अंत में स्थित कम से कम 1 अंक को हटाकर) से मेल खाता लाइन निकालें:

 sed '/ [0-9 /] [0-9] * $ / d' filename.txt 

लाइनों 7 और 9 के बीच का अंतराल निकालें:

 sed '7, 9d' filename.txt 

ऊपर के रूप में एक ही ऑपरेशन, लेकिन मापदंडों के साथ पते की जगह:

 sed '/ / -Start /, / - End / d' filename.txt 

उपरोक्त उदाहरण केवल फ़ाइल (stdout1 = स्क्रीन) के प्रदर्शन पर बदले गए हैं।

पुराने संस्करणों में स्थायी परिवर्तन के लिए (<4) "-i [प्रत्यय]" का उपयोग करके GNU sed के लिए एक अस्थायी फ़ाइल का उपयोग करें:

 sed -i ".bak" '3d' filename.txt 
पिछला लेख अगला लेख

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