जवाबों:
इसे प्राप्त करने का एक आसान तरीका है। आपको 3 चरण करने की आवश्यकता है।
खोज मेनू> ढूंढें ...> "मार्क" टैब पर जाएं। नियमित अभिव्यक्ति को सक्रिय करें। के लिए खोजें ^<Path>
( ^
लाइन शुरू करने के लिए है)। "बुकमार्क लाइन्स" चेक करना न भूलें और "मार्क ऑल" दबाएं
==> सभी पंक्तियों को आप एक बुकमार्क रखना चाहते हैं
मेनू "खोज - बुकमार्क - उल्टा बुकमार्क" पर जाएं
==> वह सभी पंक्ति जिसे आप हटाना चाहते हैं, बुकमार्क हैं।
मेनू पर जाएं "खोज - बुकमार्क - बुकमार्क की गई लाइनें निकालें"
==> सभी बुकमार्क लाइनों को हटा दिया जाता है।
यह वास्तव में 6.3 के रूप में दो चरणों में किया जा सकता है। मुझे लगता है कि यह पहले की तुलना में किया जा सकता है क्योंकि मेरे पास 5.9 थी जब मैंने पहली बार कोशिश की थी।
इस उत्तर के आधार के रूप में स्टेमा की पोस्ट का उपयोग करना। अब एक कम कदम है। लाइनों को चिह्नित करें और अचिह्नित लाइनों को हटा दें। किया हुआ। विस्तृत निर्देश का पालन करें।
खोज मेनू "खोजें"। खोज संवाद में, "मार्क" टैब पर क्लिक करें। नियमित अभिव्यक्ति को सक्रिय करें। के लिए खोजें ^<Path>
( ^
लाइन शुरू करने के लिए है)। "बुकमार्क लाइन्स" चेक करना न भूलें और "मार्क ऑल" दबाएं
==> अब आप जो सभी पंक्तियाँ रखना चाहते हैं, उनके पास एक बुकमार्क है
खोज मेनू -> बुकमार्क -> अचिह्नित लाइनों को हटा दें।
==> सभी गैर बुकमार्क लाइनों को हटा दिया जाता है।
^
अपने खोज शब्द में जोड़ने की आवश्यकता नहीं थी , न ही नियमित अभिव्यक्ति का उपयोग करने की। आशा है कि यह किसी की मदद करता है।
रेगेक्स रिप्लेस
(?!^.*test.*$)^.+
अपने अनुरोधित पाठ के साथ परीक्षण को बदलें
बदलने के
[\r\n]{2,}
साथ में \r\n
^(?!<Path>).*\r\n
खाली स्ट्रिंग के साथ मैचों को बदलने के लिए उपयोग करें । सामान्यीकृत संस्करण होगा ^(?!.*?test).*\r\n
। यह फ़ाइल के अंत में खाली लाइन नहीं निकालेगा। अन्य सभी लाइनें हटा दी जाती हैं, जिसमें कई लगातार खाली लाइनें भी शामिल हैं।
(?!)
एक नकारात्मक रूप है। ^.*test.*$
संपूर्ण पंक्ति का चयन करता है जिसमें अनुरोधित पाठ होता है।
[\r\n]{2,}
किसी भी समय \r\n
होने वाली अधिक मेल खाता है तो एक बार यह विंडोज नई लाइन है। यदि आपके पास लिनक्स या कोई अन्य ऑपरेटिंग सिस्टम है, तो आपको इसके साथ गड़बड़ करना पड़ सकता है। दूसरा इसे एक वापसी लाइन के साथ बदलना है।
\r\n
EOL पोस्ट में उल्लेख किया क्या विंडोज का उपयोग करता है और इसलिए या नहीं हो सकता आप के लिए क्या देख रहे है। अक्सर लिनक्स वातावरण पर यह सिर्फ \n
या मैक वातावरण में होता है \r
, इसलिए यदि आप किसी फाइल को या तो खींचते हैं, तो यह विंडोज स्टाइल ईओएल नहीं होगा। हालाँकि, यदि आप FileZilla और ASCII मोड ट्रिगर्स के माध्यम से डाउनलोड करते हैं, तो यह उन्हें वापस विंडोज EOL (जैसे ) \n
में बदल सकता है \r\n
। इसलिए यदि रेगेक्स काम नहीं कर रहा है, तो "व्यू> शो सिंबल्स> शो एंड ऑफ लाइन" पर जाकर ईओएल स्टाइल की जांच करें। सीआर = \r
। LF = \n
।
यह मुझे सबसे आसान तरीका लगता है कि "फाइंड ऑल इन करेंट डॉक्यूमेंट" फीचर का उपयोग करें और फिर परिणाम को एक नई फाइल में कॉपी करें या सभी का चयन करें और वर्तमान में बदल दें।
इससे आपके टेक्स्ट वाली सभी लाइनें मिलेंगी और उन्हें सबसे नीचे सूचीबद्ध करें। बस खोज परिणाम पर राइट क्लिक करें और कॉपी / पेस्ट करें।
\tLine [\d]*:
। फिर भी एक शानदार जवाब।
मेनू पर जाएं खोज -> खोजें ... -> नियमित अभिव्यक्ति को सक्रिय करें। "^ पथ " के लिए खोजें (^ लाइन प्रारंभ के लिए है)।
"सभी वर्तमान दस्तावेज़ में खोजें" बटन पर क्लिक करें।
"परिणाम खोजें" विंडो पैटर्न के सभी लाइनों के साथ दिखाई देगी। नोटपैड ++ में एक नए टैब पर कॉपी / पेस्ट करें।
इस नए टैब में,: मेनू खोज -> बदलें ... -> नियमित अभिव्यक्तियों को सक्रिय करें।
"खोजें क्या:" फ़ील्ड में, पैटर्न का उपयोग करें: "लाइन \ डी +:"। "इसके साथ बदलें:" फ़ील्ड खाली छोड़ दें।
"सभी बदलें" बटन पर क्लिक करें।
यह प्रदान करना कि आप वास्तव में <Path>
फ़ाइल सिस्टम पथ से मेल खाना चाहते हैं और नहीं, आप पर्ल का उपयोग करके कमांड लाइन से यह कोशिश कर सकते हैं:
perl -pe " if ($_ !~ /<Path>/) { s/$_// } " < in.txt > out.txt
यह विंडोज पर स्ट्रॉबेरी पर्ल के साथ काम करता है, इसलिए परिणाम के अनुसार समायोजित करें यदि आप उम्मीद नहीं करते हैं।
यह अनाड़ी है, लेकिन इसे सभी एक्सेल में=IF(LEFT(A1,6)="<Path>",A1,"")
कॉपी करें, और फिर उस फॉर्मूले का उपयोग करें और कॉपी करें। फिर उस नोट को वापस Notepad ++ पर कॉपी करें। यह आदर्श नहीं है, लेकिन यह बहुत आसान है (यदि आपके पास एक्सेल है)। चेतावनी: यह इंडेंटेड लाइनों (स्तंभों को स्थानांतरित करेगा आदि) के साथ अच्छी तरह से काम नहीं करेगा।
नोटपैड ++ के साथ जो आप चाहते हैं उसे करने का कोई आसान तरीका नहीं है। आपको VB में अपने कंप्यूटर या स्क्रिप्ट पर प्रोग्राम डाउनलोड करने की आवश्यकता होगी (मुझे लगता है कि आप विंडोज पर हैं)।
आप वह कर सकते हैं जो आप दो में से एक तरीके से चाहते हैं। सीड यूटिलिटी * निक्स पर एक पसंदीदा है और विंडोज के लिए ग्नूविन ( http://gnuwin32.sourceforge.net/packages/sed.htm ) पर महान लोगों से पाया जा सकता है । आप इस प्रोग्राम को डाउनलोड करेंगे, और फिर कमांड प्रॉम्प्ट से अपनी कमांड चलाएंगे।
सभी पंक्तियों को हटाएं जिनमें शामिल नहीं हैं:
sed -i '/^<PATH>/!d' file
एक नई फ़ाइल वाली सभी पंक्तियों को प्रिंट करें:
sed -n '/^<PATH>/p' file > newfile
मेरा सुझाव है कि आप उन पंक्तियों का उपयोग करें जिन्हें आप एक नई फ़ाइल में चाहते हैं। इसका कारण यह है कि आपको शायद पहली बार के आसपास रेगेक्स स्टेटमेंट नहीं मिलेगा। सेड यूटिलिटी रेगुलर एक्सप्रेशन बेसिक सिंटैक्स का उपयोग करती है ( http://www . अनियमित-expressions.info/reference.html पर संदर्भ देखें )। यदि कुछ एक * निक्स पथ (/ var / www) जैसा है, तो आपको अपने regex के काम करने के लिए / वर्ण से बचने की आवश्यकता होगी।
उदाहरण: sed -n '/^\/var\/www/p' file > newfile
यह उन सभी लाइनों को प्रिंट करेगा जो '/ var / www' से शुरू होती हैं। यदि मैं / वर्ण से बचने के लिए दायर करता हूं, तो कमांड में एक त्रुटि होगी। आप बैकस्लैश कैरेक्टर \ के साथ एक विशेष चरित्र (जैसे / /) से बच सकते हैं।
खोज का उपयोग करें -> बदलें और एक नियमित अभिव्यक्ति की तरह दर्ज करें ^[^ ].*
और सभी का उपयोग करके खाली स्ट्रिंग के साथ बदलें Regular expression
। अगला चरण खाली लाइनों के लिए खोज को मिल रहा है \n\n
के साथ की जगह \n
का उपयोग कर Extended
जब तक कई बार 0 occurrences were found.
(उपयोग \r\n\r\n
और \r\n
फ़ाइल स्वरूप के आधार पर)। यदि आपके पास एक पंक्ति में बहुत सारी खाली लाइनें हैं, तो यह उपयोग करने के लिए तेज है \n\n\n\n\n\n\n
या अधिक \n
: खोज स्ट्रिंग में एस।