আমি কীভাবে সহজেই একটি ফাইলের 5 কপি তৈরি করতে পারি?


13

আমি 5 টি ফাইল ব্যবহার করে অন্য কোথাও স্থানান্তর করতে পারি:

$ mv my-{1..5}.jpg /path/to/dir/

আমি কীভাবে একটি ফাইলের অনুলিপি 5 বার সহজেই তৈরি করতে পারি

# doesn't work
$ cp my.jpg my-{1..5}.jpg

এটি ব্যবহার না করা সম্ভব for loop?

উত্তর:


12

এটা চেষ্টা কর

for f in {1..5}; do cp my.jpg my$f.jpg; done

(নিজে চেষ্টা করার জন্য এখানে বাশ নেই)


6
প্রতিস্থাপন for f in $fসঙ্গে for f in $(seq 5)
ড্যান ডি

1
এটি ব্যবহার না করা সম্ভব for loop?
কেভ

@ কেভ - আমি সবসময় এটিকে এভাবেই দেখেছি; এছাড়াও, আরও রিডাবে।
18:44 এ 12

3
@ কেভ, লুপের জন্য কী ভুল? লুপগুলির জন্য এটি যা ...
সান্টোস

3
@ ড্যানড .: seqবাশে প্রয়োজনীয় নয়। আপনি ব্যবহার করতে পারেন for f in {1..5}বাfor ((f=1; f<=5; f++))
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

6

forলুপ ছাড়াই এবং ব্যবহারের ঝুঁকি ছাড়াই এটি করার একটি উপায় এখানে রয়েছে eval:

printf '%s\n' {1..5} | xargs -I {} cp my.jpg my-{}.jpg

এটি এখনও কার্যকরভাবে একটি লুপ।


4

চেষ্টা করুন tee:

tee <my.jpg >/dev/null my-{1..5}.jpg

বা parallel:

parallel cp my.jpg ::: my-{1..5}.jpg

3

আপনি এটি লুপ ছাড়াই করতে পারেন .. ব্যবহার করে teeএবং {}ব্রেস প্রসারিত করুন।

সম্পাদনা: ( ডেনিস উইলিয়ামসনের মন্তব্য অনুসারে প্রশংসিত :

"আমার -jpg" নামে একটি ফাইলের জন্য

pre="my-"; suf=".jpg"
<"$pre$suf" tee "$pre"{1..5}"$suf" >/dev/null

1
এটি eval ব্যবহার করার প্রয়োজন হয় না। <"$pre$suf" tee "$pre"{1..5}"$suf"ঠিক কাজ করে।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.