गैर-संवादात्मक इन-प्लेस फ़ाइल संपादन के लिए सबसे अच्छा उपकरण है ex
।
ex -sc '%s/\(\.com\).*/\1/ | x' file.txt
यदि आपने उपयोग किया है vi
और यदि आपने कभी एक कमांड टाइप किया है जो कि :
आपके द्वारा पूर्व कमांड का उपयोग करने वाले एक कोलन के साथ शुरू होता है । बेशक अधिक उन्नत या "फैंसी" आदेशों में से कई आप इस तरह से निष्पादित कर सकते हैं विम एक्सटेंशन (जैसे :bufdo
) हैं और पोसिक्स विनिर्देशोंex
में परिभाषित नहीं हैं , लेकिन उन विशिष्टताओं को गैर-दृश्य में वास्तव में आश्चर्यजनक डिग्री शक्ति और लचीलेपन की अनुमति है पाठ संपादन (चाहे इंटरैक्टिव या स्वचालित)।
ऊपर दिए गए कमांड के कई भाग हैं।
-s
ex
बैच उपयोग के लिए तैयार करने के लिए मूक मोड सक्षम करता है । (आउटपुट संदेश एट अल दबाएं।)
-c
फ़ाइल को (एक बार file.txt
इस मामले में) एक बफर में खोलने पर कमांड को निष्पादित करने के लिए निर्दिष्ट करता है ।
%
एक एड्रेस 1,$
स्पेसिफ़ायर के बराबर है - इसका मतलब है कि निम्नलिखित कमांड बफर के सभी लाइनों पर लागू होता है।
s
स्थानापन्न आदेश है कि आप पहले से ही परिचित होने की संभावना है। आमतौर पर इसका उपयोग किया जाता है vi
और इसमें s
कमांड केsed
समान अनिवार्य रूप से समान विशेषताएं होती हैं , हालांकि उन्नत रेगेक्स की कुछ विशेषताएं कार्यान्वयन द्वारा भिन्न हो सकती हैं। इस स्थिति में ".com" से पंक्ति के अंत तक को ".com" से बदल दिया जाता है।
ऊर्ध्वाधर पट्टी अनुक्रमिक कमांड को निष्पादित करने के लिए अलग करती है। कई (अधिकांश) ex
कार्यान्वयन में आप एक अतिरिक्त -c
विकल्प का उपयोग कर सकते हैं , जैसे:
ex -sc '%s/\(\.com\).*/\1/' -c x file.txt
हालाँकि, यह POSIX द्वारा आवश्यक नहीं है।
x
आदेश बाहर निकलता है, फ़ाइल में कोई परिवर्तन लेखन के बाद। इसके विपरीत wq
जिसका अर्थ है "लिखना और छोड़ना", x
केवल फ़ाइल को लिखता है यदि बफर संपादित किया गया है। इस प्रकार यदि आपकी फ़ाइल अनलेडेड है, तो टाइमस्टैम्प संरक्षित रहेगा।
.com
पहले/
चरित्र के बाद और उसके बाद सब कुछ हटाने के बजाय केवल खोज करना चाहते हैं ? यदिen.wikipedia.org/wiki/Ubuntu
आपकी सूची में URL जैसा है तो क्या होगा ?