मैं sed
एक बड़ी फ़ाइल (100 एमबी) में कुछ कीवर्ड बदलने की कोशिश कर रहा था । मैं -i
(inplace) विकल्प से अनजान था , इसलिए मेरा पहला प्रयास इस तरह से पुनर्निर्देशित करना था:
sed 's/original/edited/g' file.log >> file.log
उसके बाद क्या हुआ कि मेरा पीसी रुक गया, लगभग कोई कीबोर्ड इनपुट नहीं था। मैं एक अलग सांत्वना की कोशिश की Ctrl+ Alt+ F1लेकिन धीरे धीरे उपयोगकर्ता नाम दर्ज करने के बाद, यह भी रुका। कीबोर्ड के बिना, मेरा एकमात्र विकल्प मशीन को हार्डवेयर-रीसेट करना था। लॉग इन करने के बाद, मैंने देखा कि फाइल.लॉग लगभग 8 जीबी था।
मैं वास्तव में यह समझना चाहूंगा कि उस कमांड का निष्पादन सिस्टम को इतना गैर-जिम्मेदार क्यों बना सकता है, और अगर सिस्टम अलर्ट को ट्रिगर करने के लिए सिस्टम स्तर पर मौजूद है और आपत्तिजनक प्रक्रिया को मार सकता है?
free -h
?
ex -sc '%s/original/edited/ge|x' file.log
बिना आपको UNIX मुहावरेदार तरीके से क्या करना चाहिए sed -i
।