मेरे पास एक लिनक्स सिस्टम पर एक फ़ाइल है जो लगभग 10 जीबी है। इसमें 20,000,000 बाइनरी रिकॉर्ड हैं, लेकिन प्रत्येक रिकॉर्ड को एएससीआईआई डिलीमीटर "$" से अलग किया जाता है। मैं फ़ाइल को छोटे हिस्सों में बदलने के लिए स्प्लिट कमांड या उसके कुछ संयोजन का उपयोग करना चाहता हूं। आदर्श रूप में मैं यह निर्दिष्ट करने में सक्षम हूं कि कमांड को प्रत्येक 1,000 रिकॉर्ड्स (इसलिए प्रत्येक 1,000 डिलीमीटर) अलग फाइलों में विभाजित करना चाहिए। क्या कोई इसके लिए सहायता कर सकता है?डिलिमिटर पर एक फ़ाइल को विभाजित करना
5
A
उत्तर
5
समस्या का एकमात्र अपरंपरागत हिस्सा रिकॉर्ड विभाजक प्रतीत होता है। मुझे यकीन है कि यह बहुत ही सरल में ठीक है - लेकिन मुझे awk
से नफरत है।
मैं 'सामान्य' समस्याओं के दायरे में पहली बार यह हस्तांतरण होगा:
tr '$' '\n' < large_records.txt | split -l 1000
डिफ़ॉल्ट रूप से हो जाएगा ताकि बनाने xaa
, xab
, xac
... फ़ाइलें; और अधिक विकल्प
2
के लिए man split
देखो मैं प्यार करता हूँ awk :)
BEGIN { RS="$"; chunk=1; count=0; size=1000 }
{
print $0 > "/tmp/chunk" chunk;
if (++count>=size) {
chunk++;
count=0;
}
}
(ध्यान दें कि awk में पुनर्निर्देशन ऑपरेटर केवल ट्रंकेटस/इसके पहले मंगलाचरण पर फ़ाइल बनाता है - बाद संदर्भ संलग्न आपरेशन के रूप में लिया जाता है - के विपरीत खोल पुनर्निर्देशन)
1
डिफ़ॉल्ट रूप से सुनिश्चित करें कि एक बार उस पर 2. अधिक जानकारी के डिफ़ॉल्ट प्रत्यय सीमा की अधिकतम सीमा तक पहुंच जाता यूनिक्स विभाजन प्रत्यय के साथ निकास होगा: https://www.gnu.org/software/coreutils/manual/html_node/split-invocation.html
संबंधित मुद्दे
- 1. अपलोड करने से पहले एक फ़ाइल को विभाजित करना?
- 2. delimiters के साथ एक स्ट्रिंग को विभाजित करें, परिणामस्वरूप सी #
- 3. छोटे परीक्षणों के सेट पर एक परीक्षण को विभाजित करना
- 4. एक सेट को विभाजित करना (सी ++)
- 5. PHP कॉन्फ़िगरेशन फ़ाइल php.ini को विभाजित करना संभव है?
- 6. एक कॉलम को एकाधिक कॉलम में विभाजित करना
- 7. शब्दों और विराम चिह्न में एक स्ट्रिंग को विभाजित करना
- 8. सेवाओं को विभाजित करना -> व्यवसाय ऑब्जेक्ट्स?
- 9. शब्दकोशों की एक सूची को कई श्रेणियों में विभाजित करना
- 10. Grails: एक स्ट्रिंग को विभाजित करना जिसमें पाइप
- 11. संतुलित लंबाई के हिस्सों में एक सूची को विभाजित करना
- 12. विवाद चिह्नकों के साथ एक फ़ाइल को विभाजित करें
- 13. ईमेल पर एक टेक्स्ट फ़ाइल संलग्न करना
- 14. डेटटाइम को दिनांक और एक समय मान में विभाजित करना
- 15. कई बराबर भागों में एक मैटलैब मैट्रिक्स को विभाजित करना
- 16. जावा में एक स्ट्रिंग को विभाजित करना PatternSyntaxException
- 17. यादृच्छिक असमान भागों में एक संख्या को विभाजित करना
- 18. जोड़े में स्ट्रिंग को विभाजित करना
- 19. विशाल गिट रेपो को विभाजित करना
- 20. नेटवर्क डिस्क पर एक फ़ाइल को एक्सेस करना
- 21. फ़ाइल पर एक लॉक की प्रक्रिया को निर्धारित करना
- 22. एक .jar फ़ाइल के अंदर एक फ़ाइल को एक्सेस करना
- 23. Mercurial में फ़ाइलों को विभाजित करना और दोनों पक्षों पर इतिहास को बनाए रखना
- 24. एक ग्रहण फ़ाइल को एक चेकस्टाइल फ़ाइल में परिवर्तित करना
- 25. जावा - प्लस संकेतों पर एक स्ट्रिंग को कैसे विभाजित करें?
- 26. मोड़ पर एक स्ट्रिंग को विभाजित करें जो मोड़
- 27. एंड्रॉइड टैबलेट पर स्क्रीन को विभाजित करें
- 28. एकाधिक Xaml फ़ाइलों में WPF इंटरफ़ेस को विभाजित करना
- 29. क्या एक एक्सएमएल फ़ाइल में एकाधिक लाइनों में एक स्ट्रिंग को विभाजित करना संभव है? यदि हां, तो कैसे?
- 30. रूबी - एक पाठ फ़ाइल को पार्स करना
इस के लिए पूरी तरह से काम किया जब तक यह एक त्रुटि तक नहीं पहुंच जाता तब तक यह रिकॉर्ड उत्पन्न होता है (मुझे लगता है कि यह एक बहुत ही आसान फिक्स है)। त्रुटि है: विभाजन: आउटपुट फ़ाइल प्रत्यय समाप्त हो गया। आपकी सहायताके लिए धन्यवाद! –
Ermmm ... मैंने आपके लिए मैनपेज लिंक तय किया है; ['विभाजन ... -ए 7'] (http://unixhelp.ed.ac.uk/CGI/man-cgi?split) अच्छी तरह से – sehe
उत्कृष्ट होना चाहिए। बहुत अच्छा काम करता है! –