मैं कॉन्फ़िगरेशन फ़ाइल में boots
नामक पैकेज के सभी संदर्भों को प्रतिस्थापित करने का प्रयास कर रहा हूं।बूलियन या sed regex में
लाइन प्रारूप add fast (package OR pkg) boots-(any-other-text)
है, जैसे:
add fast pkg boots-5.0
मैं निम्नलिखित को आज़मा चुके sed
आदेशों:
add fast package boots-2.3
add fast pkg boots-4.5
मैं के साथ इसे बदलना चाहते
sed -e 's/add fast (pkg\|package) boots-.*/add yinst pkg boots-5.0/g'
sed -e 's/add fast [pkg\|package] boots-.*/add yinst pkg boots-5.0/g'
क्या है सही regex? मुझे लगता है कि मुझे बूलियन में कुछ याद आ रहा है या (package
या pkg
) भाग।
"दो बार" कमांड में सेमी कॉलन का उपयोग करना बेहतर है। इस तरह: 'sed' s/\। Ism/\। Ism \ .md5/g; s/\। Usp/\। Usp \ .md5/g '/ tmp/verify' –
@EvgeniyYablokov कोई विशेष कारण? शायद छोटी फेंकने वाली स्क्रिप्ट्स (इस तरह की) में आपके पास एक बिंदु हो सकता है, लेकिन मुझे अभी भी लगता है कि दो-पंक्ति संस्करण पढ़ने में आसान है। – bobbogo
मैं विंडोज़ पर जीएनयू-यूटिल संस्करण का उपयोग कर रहा हूं @EvgeniyYablokov को काम करने के लिए सेमी-कॉलन के साथ सुझाव दिया था। – user1167442