2012-12-01 16 views
8

मेरे पास यूनिक्स पर एक टेक्स्ट फ़ाइल file1.txt है। मैं एक और फ़ाइल file2.txt उत्पन्न करना चाहता हूं, जिसमें मैं apple-pie की सभी घटनाओं को apple_pie के साथ प्रतिस्थापित करता हूं। मैं किस आदेश का उपयोग कर सकता हूं?फ़ाइल में स्ट्रिंग को प्रतिस्थापित करना यूनिक्स

उत्तर

17

उपयोग sedfile1.txt पर एक वैश्विक प्रतिस्थापन करते हैं और file2.txt को आउटपुट पुनर्निर्देशित करने के लिए:

sed 's/apple-pie/apple_pie/g' file1.txt > file2.txt 
1

sedawk तुलना में बेहतर प्रदर्शन किया है लेकिन दोनों इस खोज के लिए काम करते हैं और जगह लेगा। Reference

आप एक स्क्रिप्ट (जैसे, ksh, श) में आदेश डाल तो यहां वाक्य रचना है:

awk '{gsub(/apple-pie/,"apple_pie");print}' "file1.txt" > "file2.txt" 
sed -e 's/apple-pie/apple_pie/g' "file1.txt" > "file2.txt" 
संबंधित मुद्दे