मेरे पास बहुत बड़ी फाइलें (10Gb से अधिक) हैं। मुझे फ़ाइल के ऊपर से केवल कुछ पंक्तियों की आवश्यकता है। क्या यह संभव है (vim में) शेष फ़ाइल को हटाने के लिए (वर्तमान लाइन से फ़ाइल के अंत तक)?
मेरे पास बहुत बड़ी फाइलें (10Gb से अधिक) हैं। मुझे फ़ाइल के ऊपर से केवल कुछ पंक्तियों की आवश्यकता है। क्या यह संभव है (vim में) शेष फ़ाइल को हटाने के लिए (वर्तमान लाइन से फ़ाइल के अंत तक)?
जवाबों:
dG वर्तमान लाइन से फ़ाइल के अंत तक हटा देगा
dCtrl+ Endकर्सर को फ़ाइल के अंत तक हटा देगा
लेकिन अगर यह फ़ाइल आपके अनुसार बड़ी है, तो आप head
फ़ाइल को संपादित करने और सहेजने के बजाय पहले कुछ पंक्तियों को पढ़ने से बेहतर हो सकते हैं ।
head hugefile > firstlines
(यदि आप विंडोज पर हैं तो आप Win32 पोर्ट का उपयोग कर सकते हैं head
)
head
उदाहरण के लिए: head -n20 hugefile
20 लाइनों के साथ कितनी लाइनें आपूर्ति करती हैं। n चूक के लिए 10.
head
? बड़ी फ़ाइल (1G +) पर dG का उपयोग करने में बहुत समय लगता है (उदाहरण के लिए, 5 मिनट)।
dgg
वर्तमान लाइन से फ़ाइल के प्रारंभ तक डिलीट हो जाएगा।
पहली पंक्ति पर जाएं जहां से आप हटाना चाहते हैं, और कुंजी दबाएं dG
:.,$d
यह फ़ाइल के अंत में वर्तमान लाइन से सभी सामग्री को हटा देगा। यह बहुत उपयोगी है जब आप परीक्षण वेक्टर पीढ़ी या स्ट्रिपिंग के साथ काम कर रहे हैं।
:<line number>,$d
उदाहरण के लिए: :3,$d
लाइन 3 से फ़ाइल के अंत तक हट जाएगा
head -n <number_of_lines> <filename> > <truncated_filename>
जहां-n
आप ऊपर से चाहते हैं लाइनों की संख्या के लिए पैरामीटर कहां है