কিছু ফাইল অনুলিপি করা থেকে বাদ দেওয়ার জন্য সিপি কমান্ড


35

ডিরেক্টরি কপি করতে এবং এর মধ্যে নির্দিষ্ট ফাইল / উপ-ডিরেক্টরিগুলি বাদ দেওয়ার জন্য 'সিপি' কমান্ড ব্যবহার করার কোনও উপায় আছে কি?

উত্তর:


57

ব্যবহার rsync:

rsync -avr --exclude='path1/to/exclude' --exclude='path2/to/exclude' source destination

নোট করুন যে ব্যবহার sourceএবং source/পৃথক। একটি পিছনে স্ল্যাশ মানে ফোল্ডারে থাকা সামগ্রীগুলি অনুলিপি sourceকরা destination। পেছনের স্ল্যাশ ছাড়া এটির অর্থ ফোল্ডারের উত্সটি অনুলিপি করা destination

বিকল্পভাবে, যদি আপনার বাদ দেওয়ার জন্য প্রচুর ডিরেক্টরি (বা ফাইল) থাকে তবে আপনি ব্যবহার করতে পারেন --exclude-from=FILE, যেখানে FILEফাইল বা ডিরেক্টরিগুলি অন্তর্ভুক্ত করার কোনও ফাইলের নাম নেই।

--exclude এছাড়াও ওয়াইল্ডকার্ড থাকতে পারে --exclude=*/.svn*

অনুলিপি: https://stackoverflow.com/a/2194500/749232

আপনি যদি cpনিজেই ব্যবহার করতে চান :

find . -type f -not -iname '*/not-from-here/*' -exec cp '{}' '/dest/{}' ';'

এটি ধরে নেয় টার্গেট ডিরেক্টরি কাঠামো উত্সের মতোই।

অনুলিপি করা হয়েছে: https://stackoverflow.com/a/4586025/749232


3

গেমটিতে দেরীতে হলেও এখানে প্লেইন ব্যাশ এবং সিপি ব্যবহার করে একেবারেই আলাদা সমাধান দেওয়া হচ্ছে: কিছু ফাইল উপেক্ষা করার সময় আপনি একটি গ্লোবাল ফাইলের স্পেসিফিকেশন ব্যবহার করতে পারেন।

ধরে নিন ডিরেক্টরিতে ফাইল রয়েছে:

$ ls *
listed1  listed2  listed3  listed4  unlisted1  unlisted2  unlisted3

গ্লোবগনোর ভেরিয়েবল ব্যবহার করা :

$ export GLOBIGNORE='unlisted*'
$ ls *
listed1  listed2  listed3  listed4

বা আরও নির্দিষ্ট ব্যতিক্রম সহ:

$ export GLOBIGNORE='unlisted1:unlisted2'
$ ls *
listed1  listed2  listed3  listed4  unlisted3

বা নেতিবাচক মিলগুলি ব্যবহার করে :

$ ls !(unlisted*)
listed1  listed2  listed3  listed4

এটি বেশ কয়েকটি মিলহীন নিদর্শনগুলিকে সমর্থন করে:

$ ls !(unlisted1|unlisted2)
listed1  listed2  listed3  listed4  unlisted3

1
নেতিবাচক মিলগুলির জন্য আপনার প্রসারিত গ্লোবগুলি সক্ষম করা দরকার: shopt -s extglobএছাড়াও আপনার রফতানি করার দরকার নেই GLOBIGNORE: এটি বর্তমান শেলের আচরণটি পরিবর্তন করার কথা, বেশিরভাগ শিশু প্রোগ্রামগুলি এটিকে যত্ন করে না।
মুড়ু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.