लिनक्स: बड़ी फाइल को छोटी फाइलों में कैसे तोड़ें?


10

मेरे पास मेरे स्रोत मशीन पर एक विशाल फ़ाइल (> 20 गिग्स) है और मुझे इसे अपने लक्ष्य मशीन में स्थानांतरित करने की आवश्यकता है। इस प्रश्न के प्रयोजनों के लिए, मान लें कि मेरे पास दो मशीनों के बीच नेटवर्क कनेक्टिविटी नहीं है।

मुझे इस फ़ाइल को छोटी फ़ाइलों की एक श्रृंखला में तोड़ने की ज़रूरत है, छोटी फ़ाइलों को डीवीडी (एस) में लिखें, फिर लक्ष्य मशीन पर सब कुछ फिर से इकट्ठा करें।

स्रोत और गंतव्य मशीन दोनों लिनक्स बॉक्स हैं। क्या इसका उपयोग करने का एक तरीका है tar? मुझे लगता है कि मुझे --multi-volumeपैरामीटर का उपयोग करने की आवश्यकता है । मेरे विकल्प क्या हैं?

मुझे वॉल्यूम फ़ाइलों के आकार को निर्दिष्ट करने में सक्षम होने की आवश्यकता है, ताकि यह सुनिश्चित हो सके कि प्रत्येक एक डीवीडी पर फिट होगा।

धन्यवाद!

जवाबों:


14

स्प्लिट कमांड का उपयोग करें।

split -b 22 m newfile.txt new फ़ाइल "newfile.txt" को तीन अलग-अलग फ़ाइलों में विभाजित करेगा जिन्हें newaa, newab और newac कहा जाता है प्रत्येक फ़ाइल 22 एमबी के आकार की है।


3
उपसर्ग "नया" बनाने से सावधान रहें जो आप मूल फ़ाइल "newfile.txt" के साथ साझा करते हैं। अब जब आप cat new* > newfile.txtइसे करने की कोशिश करेंगे तो यह उड़ जाएगा!
रॉबर्ट मार्टिन

@RobertMartin अच्छी पकड़!
duffbeer703

6

अन्य उत्तरों ने splitउन्हें आपके द्वारा उपयोग की जाने वाली एक मास्टर फ़ाइल में संयोजित करने के लिए कवर किया है cat



0

स्प्लिट-बी 4000000000 file_name

यह 4 जीबी की प्रत्येक फाइल बनाएगा

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.