पावरशेल में पाइप पर -replace का उपयोग करना


12

मैं इसका उपयोग करने से पहले एक प्रतिस्थापन का परीक्षण करना चाहता हूं, इसलिए मैं यह देखने के लिए एक त्वरित ऑनलाइन कमांड लिखने की कोशिश कर रहा हूं कि आउटपुट क्या है। हालाँकि, मुझे यकीन नहीं है कि वाक्य रचना क्या है। मैं जो करना चाहता हूं, वह कुछ ऐसा है

cat file | -replace "a", "b"

इसके लिए सही पॉवरशेल सिंटैक्स क्या है?

मुझे पता है कि मैं भी कर सकता हूं $a = cat fileऔर फिर एक रिप्लेस कर सकता हूं $a, लेकिन मैं इसे एक लाइन पर रखना चाहता हूं

जवाबों:


16

यह चाल करना चाहिए, यह फाइल में सभी लाइनों के माध्यम से जाएगा, और किसी भी "बी" के साथ "ए" को बदल देगा, लेकिन आपको उस फाइल को बाद में सहेजना होगा।

cat file | % {$_.replace("a","b")} | out-file newfile

4

उपयोग करने के लिए Powershell -replace ऑपरेटर (जो नियमित अभिव्यक्ति के साथ काम करता है) ऐसा करते हैं:

cat file.txt | % {$_ -replace "\W", ""} # -replace operator uses regex

ध्यान दें कि -replace ऑपरेटर regex मिलान का उपयोग करता है, जबकि निम्न उदाहरण एक गैर- regex टेक्स्ट को खोजने और बदलने का उपयोग करेगा, क्योंकि यह .NET Framework के String.Replace विधि का उपयोग करता है।

cat file | % {$_.replace("abc","def")} # string.Replace uses text matching
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.