sed

2010-11-04 16 views
6

मैं * फाइलनाम के रूप में * का उपयोग करके कई फ़ाइलों को एक बार में बदलने की कोशिश करता हूं। हालांकि यह निर्देशिकाओं को भी संसाधित करने का प्रयास करता है, और त्रुटि देता है और समाप्त करता है। क्या इस पर काबू पाने का कोई आसान तरीका है?sed

उत्तर

9

मुझे यकीन है कि नहीं कर रहा हूँ बिल्कुल कैसे आप UNIX में केवल नियमित रूप से फ़ाइलों को प्रोसेस करने के लिए यहाँ sed लेकिन सामान्य तरीके से उपयोग कर रहे हैं के साथ है find आदेश, कुछ की तरह:

find . -type f -exec sed 's/Hello/Goodbye/g' {} ';' 

प्रकार आप को प्रतिबंधित करता है नियमित फ़ाइलों के लिए, निर्देशिका या एफआईएफओ या किसी अन्य प्रकार के फाइल सिस्टम जादू नहीं।

यदि आप अपने सिस्टम पर man find चलाते हैं, तो आप अन्य विकल्पों का उपयोग कर सकते हैं जिनका आप उपयोग कर सकते हैं।

+0

मैं अभी भी लिनक्स/यूनिक्स शैल कमांड के लिए बहुत नया हूं, ऐसा क्यों है कि जब मैं इसे चलाता हूं तो यह मेरी स्क्रीन को कई फाइलों की सामग्री के साथ स्पैम करता है लेकिन कभी भी कुछ भी नहीं बदलता है? – HumbleWebDev

+0

@TheUnholy, यह सही है। इस उत्तर का उद्देश्य यह दिखाने के लिए था कि फाइलों को संसाधित करने के लिए 'खोज' का उपयोग कैसे करें और निर्देशिका नहीं। 'Find' कमांड का 'पेलोड' (जो इस मामले में एक सरल 'sed' कमांड है) को आपकी आवश्यकताओं के अनुरूप संशोधित किया जा सकता है। – paxdiablo