ব্যবহার find এই কাজ করা উচিত:
find /dir -not -name "dir" -maxdepth 1 -type d -exec zip -r '{}.zip' '{}' \;
আমি কিভাবে আছে নোট /dir প্রধান হিসাবে find পথ কিন্তু আছে -not -name "dir" যাতে প্যারেন্ট ডিরেক্টরি সংরক্ষণাগার হয় না। পরবর্তী আমরা গভীরতা সীমাবদ্ধ find সঙ্গে স্ক্যান করুন -maxdepth 1 যার অর্থ find শুধুমাত্র পথ অবিলম্বে শিশুদের জন্য অনুসন্ধান করবে /dir। তারপরে, আমরা শুধুমাত্র ডিরেক্টরিগুলির সাথে কাজ করতে ভুলবেন না -type d। এবং অবশেষে আমরা ব্যবহার -exec ঐন্দ্রজালিক চালানোর জন্য zip কমান্ড যা এটি খুঁজে বার করে সমস্ত ডিরেক্টরি কম্প্রেস করবে; {} শুধু ডিরেক্টরির নাম নিজেই সমান।
আরেকটি কৌশল ব্যবহার করা হবে -mindepth 1 পরিবর্তে -not -name "dir" শুধুমাত্র পিতা বা মাতা একটি nested ডিরেক্টরি ক্ষেত্রে /dir কাঠামো যেকোনোভাবে নাম দ্বারা যায় /dir বা তার নামের অংশ হিসাবে "dir" আছে:
find /dir -mindepth 1 -maxdepth 1 -type d -execdir echo {} \;
এখন যারা জিপ আর্কাইভ তৈরি করবে যা সম্পূর্ণ বিস্তৃত হবে /dir পথ; /dir/EqcWTG, /dir/SomeDirectoryName, /dir/3435346, ইত্যাদি ... আপনি যদি একা / আপেক্ষিক জিপ আর্কাইভগুলি ব্যবহার করতে চান তবে আপনি এটি ব্যবহার করতে পারেন -execdir পরিবর্তে -exec এটার মত:
find /dir -not -name "dir" -maxdepth 1 -type d -execdir zip -r '{}.zip' '{}' \;
একই -execdir ধারণা, কিন্তু সঙ্গে -mindepth 1 পরিবর্তে -not -name "dir":
find /dir -mindepth 1 -maxdepth 1 -type d -execdir zip -r '{}.zip' '{}' \;
থেকে -execdir বাহিনী find প্রকৃত নির্দেশিকায় কাজ করার জন্য কমান্ডটি সম্পূর্ণ পাথের পরিবর্তে কিছু খুঁজে পেয়েছে - সেই কমান্ডটি একইভাবে নামযুক্ত ZIP সংরক্ষণাগার তৈরি করবে যা নামযুক্ত সম্পর্কিত ডিরেক্টরিগুলিতে বিস্তৃত হবে EqcWTG, SomeDirectoryName, 3435346, ইত্যাদি ... তবে আবার, চূড়ান্ত ব্যবহার / বিকল্পগুলি আপনি চয়ন করুন আপনার চূড়ান্ত ZIP সংরক্ষণাগারগুলির প্রয়োজনীয়তার উপর নির্ভর করে।
/dirব্যবহার করে-mindepth 1, যদি উপড্রাইরেক্টরীগুলির মধ্যে একটি পিতামাতার একই নাম থাকে।