Bash
विभाजन फ़ाइलें
खोज…
परिचय
कभी-कभी किसी फ़ाइल को कई अलग-अलग फ़ाइलों में विभाजित करना उपयोगी होता है। यदि आपके पास बड़ी फाइलें हैं, तो इसे छोटे हिस्से में तोड़ना एक अच्छा विचार हो सकता है
एक फ़ाइल को विभाजित करें
बिना किसी विकल्प के स्प्लिट कमांड को चलाने से एक फ़ाइल को 1 या अधिक अलग-अलग फ़ाइलों में विभाजित किया जाएगा, जिसमें प्रत्येक में 1000 लाइनें होंगी।
split file
यह xaa
, xab
, xac
, आदि नाम की फाइलें xaa
, xab
प्रत्येक में 1000 लाइनें होंगी। जैसा कि आप देख सकते हैं, उन सभी को डिफ़ॉल्ट रूप से अक्षर x
साथ उपसर्ग किया जाता है। यदि प्रारंभिक फ़ाइल 1000 लाइनों से कम थी, तो केवल एक ऐसी फ़ाइल बनाई जाएगी।
उपसर्ग को बदलने के लिए, कमांड लाइन के अंत में अपना वांछित उपसर्ग जोड़ें
split file customprefix
अब customprefixaa
, customprefixab
, customprefixac
आदि नाम की फाइलें बनाई जाएंगी
प्रति फ़ाइल आउटपुट के लिए लाइनों की संख्या निर्दिष्ट करने के लिए, -l
विकल्प का उपयोग करें। निम्नलिखित एक फ़ाइल को अधिकतम 5000 लाइनों में विभाजित करेगा
split -l5000 file
या
split --lines=5000 file
वैकल्पिक रूप से, आप लाइनों के बजाय बाइट्स की अधिकतम संख्या निर्दिष्ट कर सकते हैं। यह -b
या --bytes
विकल्पों का उपयोग करके किया जाता है। उदाहरण के लिए, अधिकतम 1MB की अनुमति देने के लिए
split --bytes=1MB file
हम फ़ाइल को म्यूटेंट फ़ाइलों में विभाजित करने के लिए w विकल्प के साथ sed का उपयोग कर सकते हैं। फ़ाइलों को लाइन पते या पैटर्न को निर्दिष्ट करके विभाजित किया जा सकता है।
मान लें कि हमारे पास यह स्रोत फ़ाइल है जिसे हम विभाजित करना चाहेंगे:
cat -n sourcefile
1 निंग नांग नोंग पर
2 गायों को बोंग कहाँ जाना है!
3 और बंदर सब बोओ!
4 एक नोंग नंग निंग है
5 पेड़ कहाँ पिंग जाते हैं!
६ और चाय के बर्तन जिबर जैबर जू।
7 नोंग निंग नांग पर
फ़ाइल को पंक्ति संख्या से विभाजित करने की आज्ञा दें:
sed '1,3w f1
> 4,7w f2' sourcefile
यह फ़ाइल को F1 में लाइन 1 से लाइन 3 में और सोर्स एफाइल से लाइन एफ को फाइल एफ 2 में लाइन 7 तक लिखता है।
cat -n f1
1 निंग नांग नोंग पर
2 गायों को बोंग कहाँ जाना है!
3 और बंदर सब बोओ!
cat -n f2
1 एक नोंग नंग निंग है
2 पेड़ कहाँ जाते हैं पिंग!
3 और चाय के बर्तन जिबर जैबर जू।
4 नोंग निंग नांग पर
संदर्भ / पैटर्न द्वारा फ़ाइल को विभाजित करने की कमान:
sed '/Ning/w file1
> /Ping/w file2' sourcefile
यह file1 और file2 में sourcefile को विभाजित करता है। फ़ाइल 1 में निंग से मेल खाने वाली सभी लाइनें हैं, फ़ाइल 2 में पिंग से मेल खाने वाली लाइनें हैं।
cat file1
निंग नांग नोंग पर
एक नोंग नांग निंग है
नोंग निंग नांग पर
cat file2
पेड़ पिंग कहाँ जाते हैं!