আমি সমস্ত ফাইল এবং ফোল্ডারগুলি একটি ডিরেক্টরি থেকে অন্য ডিরেক্টরিতে অনুলিপি করার চেষ্টা করছি, তবে নির্দিষ্ট ফাইলগুলি বাদ দিন। বিশেষত, আমি সাবভারশন ফাইল এবং ফোল্ডারগুলি বাদ দিতে চাই। তবে, আমি একটি সাধারণ কিন্তু সংক্ষিপ্ত সমাধান চাই।
আমি ভাবছি আমি অদূর ভবিষ্যতে বেশ কয়েকটি ধরণের ফাইল বাদ দেওয়ার প্রয়োজনীয়তা খুঁজে পাব। উদাহরণস্বরূপ, আমি .svn, * .bak এবং * .prj বাদ দিতে চাই।
এখানে আমি একসাথে যা রেখেছি তা এখানে রয়েছে তবে এটি আমার পক্ষে কার্যকর নয়। প্রথম অংশটি, কাজগুলি সন্ধান করুন, তবে আমি xargs এবং সিপি দিয়ে কিছু ভুল করছি । আমি সাথে এবং ছাড়া সিপি চেষ্টা করেছিলাম -R
। এছাড়াও, আমি ওএস এক্স ব্যবহার করছি এবং এটি লিনাক্স সিস্টেমের তুলনায় xargs এর কম বৈশিষ্ট্যযুক্ত সংস্করণ বলে মনে হচ্ছে ।
find ./sourcedirectory -not \( -name .svn -a -prune \)
| xargs -IFILES cp -R FILES ./destinationdirectory
-R
পতাকা, আমি নিশ্চিত। এটি সরান এবং আপনার ভাল হওয়া উচিত (যদিও আপনি -mindepth 1
টপলেভাল ডিরেক্টরি ফোল্ডারটি অনুলিপি করতে চান যা আপনি অনুলিপি করতে চান না), আমি ধরে নিই)
find
কমান্ড সঠিকভাবে ব্যবহার-prune
আইটেম .svn অগ্রাহ্য করা হবে তারপর আপনি পাস-R
পতাকাcp
যা বলে যে কমান্ড রিকার্সিভ যাবে। এটি যখন হয়ে যায়, আপনিfind
কমান্ডটিতে যা কিছু গ্রানুলারিটি হারিয়েছিলেন তা হারাবেন । আমি এক মিনিটের জন্য Tinker যাচ্ছি এই সঙ্গে, কিন্তু আমি মনে করি উত্তর হল না ব্যবহার-R
মধ্যেcp
কমান্ড।