के रूप में पॉल ने कहा, तो पहले आपको फ़ाइलें आप संपादित करना और फिर उन्हें संपादित करना चाहते हैं करना चाहते हैं। खोज का उपयोग कर के लिए एक वैकल्पिक जीएनयू ग्रेप (Ubuntu पर डिफ़ॉल्ट), उदाहरण के लिए उपयोग करने के लिए है:
grep -r -l from . | xargs -0 -n 1 sed -i -e 's/from/to/g'
तुम भी पावती-ग्रेप उपयोग कर सकते हैं (sudo apt-get पावती-ग्रेप स्थापित करने या जाएँ http://petdance.com/ack/) के रूप में अच्छी तरह से, अगर आप जानते हैं कि आप केवल एक निश्चित प्रकार की फ़ाइल चाहते हैं, और संस्करण नियंत्रण निर्देशिकाओं में चीजों को अनदेखा करना चाहते हैं। जैसे, अगर आप केवल पाठ फ़ाइलों चाहते हैं,
ack -l --print0 --text from | xargs -0 -n 1 sed -i -e 's/from/to/g'
# `from` here is an arbitrary commonly occurring keyword
sed उपयोग करने का विकल्प पर्ल जो आदेश प्रति एक से अधिक फ़ाइलों को संसाधित कर सकते, जैसे उपयोग करने के लिए,
grep -r -l from . | xargs perl -pi.bak -e 's/from/to/g'
यहाँ, पर्ल में संपादित करने के लिए कहा है है जगह, पहले एक .bak फ़ाइल बनाते हैं।
आप अपनी वरीयता के आधार पर, पाइप के बाएं हाथ के किनारों को दाएं हाथ के किनारों से जोड़ सकते हैं।
स्रोत
2009-02-09 19:02:24
बस इस लिंक को यहां छोड़ने के लिए जा रहे हैं: http://stackoverflow.com/questions/102083/whats-the-best-tool-to-find-and-replace-regular-expressions-over-multiple-files –