লিনাক্স কমান্ড লাইনে, আমি একটি (খুব বড়) .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
আপনাকে ডিরেক্টরিতে প্রতিটি ফোল্ডারে নেভিগেট করতে হবে, তবে আমি এখন পর্যন্ত দেখেছি বেশিরভাগ বিকল্পের চেয়ে এটি ভাল।