एक बड़ी फ़ाइल की लाइन गिनती कैसे प्राप्त करें, कम से कम 5 जी की एक बड़ी फ़ाइल की लाइन गिनती कैसे प्राप्त करें। खोल का उपयोग कर सबसे तेज़ दृष्टिकोण।कम से कम 5 जी
उत्तर
चरण 1: head -n filename> newfile // पहली एन लाइनों को नई फ़ाइल में प्राप्त करें, उदाहरण के लिए। एन = 5
चरण 2: विशाल फ़ाइल आकार जाओ, एक
चरण 3: newfile आकार, बी जाओ
चरण 4: (ए/बी) * n सटीक के लगभग बराबर है लाइन गिनती
अलग-अलग मान होने के लिए सेट करें, कुछ बार और अधिक करें, फिर औसत प्राप्त करें।
अच्छा विचार, धन्यवाद। –
यह आपको फ़ाइल में लाइनों की संख्या का * अनुमान * देता है। आप किसी भी तरह से पूरी फाइल को पढ़ने के बिना सटीक गिनती नहीं प्राप्त कर सकते हैं। अनुमान पहले से हो सकता है अगर पहली ** एन ** लाइनें औसत से अधिक या कम हो जाती हैं। और ** एन ** के अलग-अलग मूल्यों के परिणामों के औसत का औसत अजीब लगता है। सबसे बड़ा ** एन ** आप कोशिश करेंगे सभी छोटे मूल्यों के परिणाम शामिल होंगे। बस कुछ बड़े ** एन ** के लिए एक माप करना सुझाए गए औसत दृष्टिकोण से बेहतर होने की संभावना है। किसी भी मामले में, मेरे उत्तर पर टिप्पणियां इंगित करती हैं कि 'wc -l' में लगभग 9 0 सेकंड लगते हैं। –
सबसे तेज़ दृष्टिकोण wc -l
होने की संभावना है।
wc
कमांड इस तरह की चीज करने के लिए अनुकूलित किया गया है। यह बहुत ही असंभव है कि आप और कुछ भी कर सकते हैं (इसे अधिक शक्तिशाली हार्डवेयर पर करने के अलावा) किसी भी तेजी से होने जा रहा है।
हां, 5 गीगाबाइट टेक्स्ट फ़ाइल में लाइनों की गिनती धीमी है। यह एक बड़ी फाइल है।
एकमात्र विकल्प डेटा को पहले स्थान पर किसी भिन्न प्रारूप में संग्रहीत करना होगा, शायद एक डेटाबेस, शायद निश्चित लंबाई वाले रिकॉर्ड वाली फ़ाइल। अपने 5 गीगाबाइट टेक्स्ट फ़ाइल को किसी अन्य प्रारूप में कनवर्ट करने के लिए कम से कम पर wc -l
चलाने के रूप में गलत होने जा रहा है, लेकिन यदि आप लाइनों की गिनती करने जा रहे हैं तो इसके लायक हो। यह कहना असंभव है कि ट्रेडऑफ अधिक जानकारी के बिना क्या हैं।
सादे पाठ फ़ाइल के उस आकार के लिए, 'wc' ने उस फ़ाइल के लिए पहली कॉल पर अपेक्षाकृत कम समय लिया, और बाद में कॉल के लिए ~ 2 सेकंड इनपुट के समान फ़ाइल के साथ। –
पहली बार फ़ाइल का कैशिंग इसे समझाता है, यहां @ इवेला द्वारा टिप्पणी देखें: http://stackoverflow.com/a/12716620/1959808 –
@johntex: "अपेक्षाकृत कम समय" से आपका क्या मतलब है? –
- 1. Lucene.Net TermRangeQuery से कम/कम से कम?
- 2. कम से कम यूआरएल
- 3. कम से कम
- 4. कम से कम
- 5. कम से कम एक मिलीसेकंड
- 6. सबसे अच्छा कम से कम पथ एल्गोरिथ्म
- 7. कम से कम एक चेक
- 8. पीएचपी कम से कम/सरणी
- 9. एसक्यूएल क्वेरी कम से कम
- 10. mongoDB मानचित्र/कम से कम
- 11. कम करें और कम से
- 12. Double.Epsilon, से अधिक है, कम से कम, कम से कम या इसके बराबर
- 13. WCF नामित पाइप कम से कम उदाहरण
- 14. उपकरण को कम से कम जावास्क्रिप्ट फ़ाइलें
- 15. नेस्टिंग: इसके बाद: कम से कम
- 16. Printf (कम से कम मामले) विचाराधीन
- 17. कम से कम एक सप्ताह पहले
- 18. कम से कम प्रोग्रामों को संभालना
- 19. अजगर regex पहले/कम से कम मैच
- 20. स्पैस कम से कम वर्ग रिग्रेशन
- 21. सी # पैराम्स कम से कम एक मान
- 22. मार्ग समस्या: कम से कम कुल लागत
- 23. Micropython या कम से कम अजगर स्थापना
- 24. ड्रीमवेवर: कम से कम सीएसएस ... एक्सेस
- 25. छिपी हुई या कम से कम
- 26. कम से कम एक वस्तु IComparable
- 27. कम से कम एक स्पैर मैट्रिक्स?
- 28. खोजने सब कम से कम फैले पेड़
- 29. एल्गोरिदम समस्या - कम से कम सामान्य सबसेट
- 30. पिपिंग प्रोग्राम आउटपुट कम से कम आउटपुट
'wc -l' के साथ क्या गलत है? –
समस्या बहुत धीमी है ... –
http://www.codinghorror.com/blog/2007/09/everything-is-fast-for-small-n.html –