मैं लगभग 500 एमबी की छोटी फ़ाइलों में एक बड़ी, 4 जीबी फ़ाइल कैसे तोड़ता हूं ।
और मैं मूल फ़ाइल प्राप्त करने के लिए उन्हें फिर से कैसे इकट्ठा करूं?
मैं लगभग 500 एमबी की छोटी फ़ाइलों में एक बड़ी, 4 जीबी फ़ाइल कैसे तोड़ता हूं ।
और मैं मूल फ़ाइल प्राप्त करने के लिए उन्हें फिर से कैसे इकट्ठा करूं?
जवाबों:
आप विभाजन और बिल्ली का उपयोग कर सकते हैं ।
उदाहरण के लिए कुछ
$ split --bytes 500M --numeric-suffixes --suffix-length=3 foo foo.
(जहां इनपुट फ़ाइल नाम है fooऔर अंतिम तर्क आउटपुट उपसर्ग है)। यह फ़ाइलों की तरह पैदा करेगा foo.000 foo.001...
छोटे विकल्पों के साथ एक ही कमांड:
$ split -b 100k -d -a 3 foo foo
यदि आप इसे बाइट्स की सटीक संख्या के बजाय लाइन सीमाओं पर विभाजित करना चाहते हैं, तो आप "--लाइन-बाइट्स" भी निर्दिष्ट कर सकते हैं।
उत्पन्न टुकड़ों को फिर से इकट्ठा करने के लिए आप फिर से उपयोग कर सकते हैं जैसे:
$ cat foo.* > foo_2
(यह मानते हुए कि शेल शेल ग्लोबिंग के परिणामों को क्रमबद्ध करता है - और भागों की संख्या तर्कों के सिस्टम निर्भर सीमा से अधिक नहीं होती है)
आप परिणाम की तुलना कर सकते हैं:
$ cmp foo foo_2
$ echo $?
(जिसका उत्पादन 0 होना चाहिए)
वैकल्पिक रूप से, आप टुकड़ों को फिर से इकट्ठा करने के लिए खोज / सॉर्ट / xargs के संयोजन का उपयोग कर सकते हैं:
$ find -maxdepth 1 -type f -name 'foo.*' | sort | xargs cat > foo_3
man split cat md5sum
cat foo.{000..NNN}कहां NNNहै। इस तरह से आपको एक त्रुटि संदेश मिलता है यदि कोई एक टुकड़ा गायब है। लेकिन ध्यान दें कि -dसंख्यात्मक प्रत्यय GNU विभाजन के लिए विशिष्ट है; दूसरे प्लेटफार्म पर आप के साथ क्या करना है foo.aaa, foo.aabआदि
splitKB = 1000, K = 1024, MB = 1000 * 1000, M = 1024 * 1024 आदि के लिए
... cat > foo_3हो ... cat >>foo_3?
rarऔर 7zipअक्सर क्रॉस-प्लेटफ़ॉर्म को फिर से इकट्ठा करने के लिए इस तरह के विभाजन को आसान बनाने में उपयोग किया जाता है
अगर आप GUI पसंद करते हैं तो आप आर्काइव मैनेजर के साथ भी ऐसा कर सकते हैं। 'सेव-> अन्य विकल्प-> स्प्लिट्स ऑफ वॉल्यूम' के तहत देखें।