किसी फ़ाइल में स्ट्रिंग बदलना


2

मैंने निम्नलिखित कमांड लिखी:

rpl -x'.txt' '0 ' '-1 ' /home/administrator/temp/myText.txt

हालाँकि मुझे एक त्रुटि संदेश मिलता है:

Usage: rpl [options] old_string new_string target_file(s)

rpl: error: no such option: -1

यह -1एक विकल्प के रूप में क्यों मानता है और स्ट्रिंग नहीं है? इसे कैसे हल करें?

इसके अलावा, क्या पाठ के सभी तारों को बदलने का एक तरीका है जो इसके साथ शुरू होता 0है -1?


एबी ने आपके पहले सवाल का जवाब पहले ही दे दिया। जैसा कि दूसरे के लिए मुझे लगता है कि आपको अधिक शक्तिशाली उपकरण पर स्विच करना होगा जैसे कि sedयाperl
kos

वे दो सवाल हैं। कृपया दूसरे भाग के लिए दूसरा प्रश्न करें।
एबी

@AB: धन्यवाद। मैंने एक नया प्रश्न पोस्ट किया है | askubuntu.com/questions/623068/…
रॉय

जवाबों:


2

यदि स्ट्रिंग में से कोई एक -आपके साथ शुरू होता है, तो आपको --अंतिम तर्क के रूप में स्ट्रिंग की आवश्यकता होगी। यह विकल्प पार्सर को स्ट्रिंग को कमांड लाइन विकल्प के रूप में मानने से रोकेगा।

स्रोत

rpl -x'.txt' '0 ' -- '-1 ' /home/administrator/temp/myText.txt

इसके अलावा, क्या पाठ में सभी तारों को बदलने का एक तरीका है जो 0 से शुरू होता है -1?

जैसा कि @kos ने कहा:

आपको एक अधिक शक्तिशाली उपकरण जैसे कि sed या perl पर स्विच करना होगा

लेकिन यह एक और सवाल है। ;)


यह एक लाइन की शुरुआत में सभी 0 पात्रों को बदल देगा, ओपी लाइन की शुरुआत में 0 गैर जरूरी के साथ शुरू होने वाले एक पूरे स्ट्रिंग को बदलना चाहता है
कोस

इसके अलावा यह देखना कठिन है, लेकिन ओपी ने स्ट्रिंग को मैच करने के लिए और स्ट्रिंग को बदलने के लिए एक जगह रखी ( आप इसे मूल पोस्ट के कच्चे स्रोत फ़ाइल को देखकर देख सकते हैं )
kos

@ पता लगाने के लिए वास्तव में कठिन है। मैं सिर्फ अपने स्मार्टफोन का इस्तेमाल करता हूं। प्रश्न के दूसरे भाग को वैसे भी एक नए प्रश्न के रूप में पूछा जाना चाहिए।
एबी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.