আপনি প্যাকেজmcp
থেকে নিম্নলিখিত উপায়ে ব্যবহার করতে পারেন :mmv
mcp "*original*" "#1copy#2"
এটি বর্তমান ডিরেক্টরিতে "মূল" স্ট্রিংযুক্ত প্রতিটি ফাইল অনুলিপি করবে এবং এই স্ট্রিংটিকে "অনুলিপি" দিয়ে প্রতিস্থাপন করবে। পতাকাটি mcp
যুক্ত করে আপনি কী করতে পারবেন তা পরীক্ষা করতে পারেন -n
, তবে এটি নিঃশব্দে ফাইলগুলি ওভাররাইট করে না, তবে আপনাকে জিজ্ঞাসা করে। ব্যবহারের mmv
সুবিধা রয়েছে cp
যে আপনার প্রতিটি ফাইলের জন্য এটি কল করতে হবে না - আপনার মতো এক হাজার ফাইল অনুলিপি করে বলে মনে হচ্ছে এটি একটি তাত্পর্য তৈরি করে।
আপনি নিম্নলিখিত উপায়ে জিএনইউparallel
ব্যবহার করতে পারেন ( --dry-run
অনুলিপিটি সম্পাদনের জন্য এটি পরীক্ষা করার জন্য এটি অপসারণ করুন):
parallel --dry-run cp -p "{}" "{=s/original/copy/=}" ::: *
বা, যদি এটি "তর্ক তালিকায় খুব দীর্ঘ" ত্রুটি দেয়:
printf "%s\0" * | parallel --dry-run -0 cp -p "{}" "{=s/original/copy/=}"
উদাহরণ রান
$ ls -1
foo_bar_abc_1_01_geh_original.in
foo_bar_abc_1_02_geh_original.in
foo_bar_abc_1_03_geh_original.in
foo_bar_abc_1_04_geh_original.in
$ mcp "*original*" "#1copy#2"
$ ls -1
foo_bar_abc_1_01_geh_copy.in
foo_bar_abc_1_01_geh_original.in
foo_bar_abc_1_02_geh_copy.in
foo_bar_abc_1_02_geh_original.in
foo_bar_abc_1_03_geh_copy.in
foo_bar_abc_1_03_geh_original.in
foo_bar_abc_1_04_geh_copy.in
foo_bar_abc_1_04_geh_original.in
আসুন time
, ধীর মেশিনে প্রতিটি 100 কিবি এর 1000 টিরও বেশি ফাইল চালনা করুন :
$ time mcp "*original*" "#1copy#2"
real 0m1.114s
user 0m0.000s
sys 0m0.132s