क्या कोई संपादक हैं जो बहु-गीगाबाइट पाठ फ़ाइलों को संपादित कर सकते हैं, शायद केवल एक बार में ही छोटे हिस्से को मेमोरी में लोड करके? ऐसा नहीं लगता कि विम इसे संभाल सकता है = (
क्या कोई संपादक हैं जो बहु-गीगाबाइट पाठ फ़ाइलों को संपादित कर सकते हैं, शायद केवल एक बार में ही छोटे हिस्से को मेमोरी में लोड करके? ऐसा नहीं लगता कि विम इसे संभाल सकता है = (
जवाबों:
आप * nix पर हैं (यह मानते हुए आप फ़ाइल के केवल भागों (और शायद ही कभी) को संशोधित करने के लिए है), तो आप फ़ाइलें (का उपयोग कर विभाजित कर सकते हैं split
कमान), उन्हें अलग-अलग संपादित करें (का उपयोग करते हुए awk
, sed
, या कुछ इसी तरह) और आप के बाद उन्हें श्रेणीबद्ध कार्य पूर्ण।
cat file2 file3 >> file1
Ctrl-C फ़ाइल लोड को रोक देगा। यदि फ़ाइल काफी छोटी है, तो आप भाग्यशाली हो सकते हैं कि सभी सामग्रियों को लोड किया गया है और बस किसी भी पोस्ट लोड कदम को मार दिया है। सत्यापित करें कि इस टिप का उपयोग करते समय पूरी फ़ाइल लोड की गई है।
विम बड़ी फ़ाइलों को बहुत अच्छी तरह से संभाल सकता है। मैंने सिर्फ एक 3.4GB फ़ाइल, लाइनों को हटाने, आदि को ध्यान में रखने के लिए तीन चीजों को संपादित किया:
:115355
आपको सीधे 115355 लाइन पर ले जाएगी, जो उन बड़ी फाइलों में बहुत तेजी से जा रही है। विम हर बार शुरू से ही स्कैनिंग शुरू कर देता है, जब यह लाइनों के एक बफर को लोड करता है, और फ़ाइल के माध्यम से स्कैन करने के लिए Ctrl-F को दबाकर रखने से लगता है कि इसके अंत के पास वास्तव में धीमा है।नोट - यदि आपका वीआईएम उदाहरण आसानी से है क्योंकि आपने Ctrl-C मारा है, तो संभव है कि विम ने पूरी फाइल को बफर में लोड न किया हो। यदि ऐसा होता है, तो इसे सहेजना केवल वही बचाएगा जो बफर में है, न कि पूरी फाइल । आप G
यह सुनिश्चित कर सकते हैं कि आपकी फ़ाइल की सभी पंक्तियाँ वहाँ हैं या नहीं।
यह प्लगइन्स हो सकता है जो इसे चोक करने का कारण बन रहा है। (वाक्य रचना हाइलाइटिंग, सिलवटों आदि)
आप प्लगइन्स के बिना विम चला सकते हैं।
vim -u "NONE" hugefile.log
यह न्यूनतम है, लेकिन यह आपको कम से कम आपके द्वारा उपयोग किए जाने वाले vi गतियों को देगा।
syntax off
एक और स्पष्ट है। अपने इंस्टॉल डाउन और सोर्स को प्रून करें जो आपको चाहिए। आपको पता चल जाएगा कि यह क्या करने में सक्षम है और यदि आपको अन्य माध्यमों से किसी कार्य को पूरा करने की आवश्यकता है।
विभाजन + विम समाधान के साथ @Al पचियो द्वारा दिए गए उत्तर पर एक मामूली सुधार आप एक ग्लोब के साथ फ़ाइलों को पढ़ सकते हैं, प्रभावी ढंग से फ़ाइल चंक्स का उपयोग बफर के रूप में कर सकते हैं।
$ split -l 5000 myBigFile
xaa
xab
xac
...
$ vim xa*
#edit the files
:nw #skip forward and write
:n! #skip forward and don't save
:Nw #skip back and write
:N! #skip back and don't save
आप इस VIM प्लगइन को देखना चाहते हैं, जो बड़ी फ़ाइलों को लोड करते समय गति के हित में कुछ विशेष विशेषताओं को निष्क्रिय करता है।
मैंने ऐसा करने की कोशिश की है, ज्यादातर जब मैं एक SQL डंप में कुछ छोटे बदलाव करने की आवश्यकता होती है, तो 1 जीबी के आसपास की फाइलों के साथ। मैं विंडोज पर हूं, जो इसे एक प्रमुख दर्द बनाता है। यह गंभीर रूप से कठिन है।
स्पष्ट सवाल है "आपको इसकी आवश्यकता क्यों है?" मैं आपको एक से अधिक बार यह प्रयास करने के अनुभव से बता सकता हूं, आप वास्तव में एक और तरीका खोजने की कोशिश करना चाहते हैं।
तो आप इसे कैसे करते हैं? मेरे द्वारा किए गए कुछ तरीके हैं। कभी-कभी मुझे फ़ाइल खोलने के लिए विम या नैनो मिल सकती है, और मैं उनका उपयोग कर सकता हूं। यह वास्तव में कठिन दर्द है, लेकिन यह काम करता है।
जब वह काम नहीं करता है (आपके मामले में) तो आपके पास केवल कुछ विकल्प हैं। आप अपने द्वारा आवश्यक परिवर्तन (उदाहरण के लिए, खोज और प्रतिकृति) बनाने के लिए एक छोटा सा कार्यक्रम लिख सकते हैं। आप एक कमांड लाइन प्रोग्राम का उपयोग कर सकते हैं जो इसे करने में सक्षम हो सकता है (शायद यह sed / awk / gpp और आदि के साथ पूरा किया जा सकता है?)
अगर वे काम नहीं करते हैं, तो आप हमेशा फ़ाइल को विखंडू में विभाजित कर सकते हैं (कुछ ऐसा है जैसे विभाजन स्पष्ट पसंद हो, लेकिन आप जिस भाग को चाहते हैं उसे प्राप्त करने के लिए सिर / पूंछ का उपयोग कर सकते हैं) और फिर उस हिस्से को संपादित करें जिसे इसकी आवश्यकता है, और बाद में पुनर्संयोजन करें।
हालांकि मुझ पर भरोसा करें, दूसरा रास्ता खोजने की कोशिश करें।
मुझे लगता है कि हेक्स संपादकों के लिए बड़ी फ़ाइलों को संभालना सामान्य है। विंडोज पर, मैं एचएक्सडी का उपयोग करता हूं , जो 8 ईबी (8 बिलियन गीगाबाइट) तक की फाइलों को संभालने का दावा करता है।
hexedit
मैं बहु-गीगाबाइट सादे पाठ फ़ाइलों को संभालने के लिए चार्ल्स कैंपबेल द्वारा लार्जफाइल प्लगइन के साथ Win7 x64 पर vim 7.3.3 का उपयोग कर रहा हूं । यह वास्तव में अच्छी तरह से काम करता है।
मुझे उम्मीद है कि आप सही आएंगे।
वाह, एक जीबी या दो के साथ भी, कभी-कभी चोक करने के लिए विम पाने में कामयाब नहीं हुआ। मैंने सुना है कि UltraEdit (विंडोज पर) और BBEdit (Mac पर) और भी बड़ी फ़ाइलों के लिए उपयुक्त हैं, लेकिन मुझे कोई व्यक्तिगत अनुभव नहीं है।
अतीत में मैंने इस टूल के साथ एक 3 गिग फ़ाइल खोली थी http://csved.sjfrancke.nl/
निजी तौर पर, मुझे अल्ट्राएडिट पसंद है । यहाँ बड़ी फ़ाइलों पर उनका छोटा क्षेत्र है ।
मैंने बड़ी लॉग फ़ाइलों के लिए टेक्स्टपैड का उपयोग किया है जिसमें इसकी ऊपरी सीमा नहीं है।
केवल एक चीज जो मैं अपने पसंदीदा मैक हेक्स संपादक के लिए उपयोग करने में सक्षम हूं, 0XED। हालाँकि, यह उन फाइलों के साथ था, जिन्हें मैंने दसियों मेगाबाइट्स में बड़ा माना था। मुझे यकीन नहीं है कि यह कितनी दूर तक जाएगा। मुझे पूरा यकीन है कि यह केवल एक बार में फ़ाइल के कुछ हिस्सों को मेमोरी में लोड करता है।