বেশ কয়েকটি ফাইল সংরক্ষণ করে বিভিন্ন সংরক্ষণাগার


13

চলমান লিনাক্স। আমার প্রায় 150 টি বড় সিএসভি ফাইলের একটি ডিরেক্টরি রয়েছে; কেবলমাত্র zip -9তাদের উপর এটি করার ফলে এক একীকরণ ফাইলটি এখনও বড়। আমি এগুলি কেবল 30-40 সিএসভি-র চার বা পাঁচ জিপ ফাইলগুলিতে কেবল তাদের জিপ করতে চাই; প্রতিটি জিপ স্বতন্ত্র হওয়ায় এই উপায়ে সিকোয়েন্সিং বা স্প্যানড জিপ অর্ডার কোনও সমস্যা হবে না। এটি করার একটি সহজ উপায় থাকতে হবে। কোনও পরামর্শ?

(এবং হ্যাঁ, জিপটি যদি সম্ভব হয় তবে পছন্দের ফর্ম্যাটটি হবে)

উত্তর:


23

-এস কি যথেষ্ট নয়? আপনি ফাইলটিকে সর্বোচ্চ আকারের ফাইলগুলিতে বিভক্ত করতে জিপ-এস ব্যবহার করতে পারেন, যেমন:

"জিপ-এস 300 মি <2 জিবি ফাইল>" উত্পাদন করে:

file.zip (300 mb, master file)
file.001.zip (300 mb)
file.002.zip (300 mb)
file.003.zip (300 mb)
file.004.zip (300 mb)
file.005.zip (300 mb)
file.006.zip (200 mb)

তারপরে "আনজিপ ফাইল.জিপ" সমস্ত কিছু একসাথে আনজিপ করবে।


জিপ এর কোন সংস্করণ এটি ?? আমি পেয়েছি file.z01 file.z02 ... file.zip এবং unzip file.zipসরাসরি কাজ করে না (আমি তাদের পুনরায় সংযুক্ত করতে আমি জিপ-এফ ব্যবহার করব)। মনে রাখবেন অনুরোধ অনুসারে এগুলি "স্বতন্ত্র" নয়।
সোর্সজেডি

1
@ সোর্সজেডি: এই উত্তরে ( superuser.com/a/602736/195224 ) আরও কয়েকটি বিশদ বিবরণ।
এমপিপি

@ এমপি আমি জানি, আমি এই উত্তরটি লিখেছি মাত্র :)।
সোর্সজেডি

@ সোর্সজেদি: ওহ হ্যাঁ, এখন আপনি এটি বলছেন ...;)
এমপিপি

2

split ইনপুট ফাইলগুলির তালিকায় ব্যবহার করুন :-)।

(পরীক্ষা করা হয়নি, আমি পরিষ্কার করার জন্য আরএম কমান্ডগুলি অন্তর্ভুক্ত করেছি, যত্ন নিন)।

ls *.csv > csvfiles
split -d -l30 - csvfiles < csvfiles
for i in csvfiles[0-9][0-9]; do
  zip "$i.zip" -@ < "$i"
done

rm csvfiles
rm csvfiles[0-9][0-9]

আপনি কেন split -C( --line-bytes) ব্যবহার করবেন না split -l( --lines)? এক আর্কাইভে কতগুলি সিএসভি ফাইল রয়েছে সে সম্পর্কে এটি আরও অনুমানযোগ্য হবে।
এমপিপি

আমি ম্যানপেজটি খুব দ্রুত স্কিমেড করেছি। ধন্যবাদ, আমি এটি ঠিক করব!
সোর্সজেডি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.