লিনাক্স কমান্ড লাইনে, আমি একটি (খুব বড়) .txtফাইলের সেটটি একটি ডিরেক্টরি থেকে অন্য ডিরেক্টরিতে (এবং এর উপ-ডিরেক্টরিগুলি) অনুলিপি করতে চাই ।
অটুট থাকতে আমার ডিরেক্টরি কাঠামো প্রয়োজন এবং শেষ হওয়াগুলি বাদে আমার ফাইলগুলি উপেক্ষা করতে হবে .txt।
লিনাক্স কমান্ড লাইনে, আমি একটি (খুব বড়) .txtফাইলের সেটটি একটি ডিরেক্টরি থেকে অন্য ডিরেক্টরিতে (এবং এর উপ-ডিরেক্টরিগুলি) অনুলিপি করতে চাই ।
অটুট থাকতে আমার ডিরেক্টরি কাঠামো প্রয়োজন এবং শেষ হওয়াগুলি বাদে আমার ফাইলগুলি উপেক্ষা করতে হবে .txt।
উত্তর:
অন্য পদ্ধতির
find . -name '*.txt' -exec rsync -R {} path/to/dext \;
find . -iname '*.txt' -exec rsync -Rptgon {} path/to/dext \;একটি কেস সংবেদনশীল ম্যাচ করতাম এবং মালিকানা এবং অনুমতিগুলি সংরক্ষণ করতাম ।
আপনি কীভাবে প্রথমে এটি দিয়ে অনুলিপি করেন
cp -r /old/folder /new/folder
তারপরে নতুন ফোল্ডারে যান এবং চালান
find . -type f ! -iname "*.txt" -delete
বা শুধু
cp -r /old/folder /new/folder && find . -type f ! -iname "*.txt" -delete
সম্পাদনা: ঠিক আছে আপনি একটি কমান্ড চান যা ফিল্টার করে (আমি এটি পরীক্ষা করিনি কারণ আমার সিস্টেমে cpioকমান্ড নেই!)। এখানে আমি এটি খুঁজে পেয়েছি: http://www.gnu.org/software/findutils/manual/html_mono/find.html# কপি করা- এ- সাবসেট- অফ- ফাইলস
find . -name "*.txt" -print0 |
cpio -pmd0 /dest-dir
দয়া করে প্রথমে এটি পরীক্ষা করুন , কারণ আমি এখনও চেষ্টা করে দেখিনি। যদি কেউ যাচাই করে তবে এটি দুর্দান্ত।
0মধ্যে -pmd0যোগ -print0শেষে findকমান্ড (ঠিক আগে |)।
আমি ম্যাকোজে একই জিনিসটি করার চেষ্টা করছিলাম, তবে বিকল্পগুলির মধ্যে আমার পক্ষে সত্যিই কোনও কাজ হয়নি। যতক্ষণ না আমি আবিষ্কার করেছি ditto।
আমাকে অনেক .wav ফাইলগুলি অনুলিপি করতে হয়েছিল, এবং এটি ভিডিও ফাইলগুলি এড়িয়ে চলেছিল ... তাই আমি এখানে এলাম:
find . -type f -iname "*.wav" -ls -exec ditto {} /destination/folder/{} \;
find .- বর্তমান ফোল্ডারে চালায়। cd /source/folderআপনি শুরু করার আগে নিশ্চিত হন
-type f - কেবলমাত্র ফাইল অনুসন্ধান করার জন্য নির্দিষ্ট করে
-iname "*.wav" - এটি এটিকে কে সংবেদনশীল * .wav সন্ধান করতে বলে-ls- এটি আপনাকে যে ফাইলটিতে কাজ করছে তা দেখায়। অন্যভাবে এটি কিছুই দেখায় না।-exec ditto {} /destination/folder/{} \; - একই ডিরেক্টরি গাছের সাথে ফাইলগুলি অনুলিপি করা ও তৈরি করার সমস্ত কাজ করে।ডিরেক্টরিতে নেভিগেট করুন:
cp '*.css' /path/to/destination
আপনাকে ডিরেক্টরিতে প্রতিটি ফোল্ডারে নেভিগেট করতে হবে, তবে আমি এখন পর্যন্ত দেখেছি বেশিরভাগ বিকল্পের চেয়ে এটি ভাল।