একটি দুর্দান্ত সমাধান হ'ল ব্যাকআপগুলির একটি সেট (যেমন উপসর্গযুক্ত backup-) করা, নতুন ফাইলগুলির সেট তৈরির মূল ফাইলগুলি ঘোরানো (যেমন উপসর্গযুক্ত ) যেমন rotated-আপনাকে একটি সেট দেয়
img-1.png
backup-img-1.png
rotated-img-1.png
img-2.png
- ... ইত্যাদি
mv/ cpটুলস [ব্যাশ globbing] শুধুমাত্র উপসর্গ যোগ করতে পারেন, এটা নোংরা তাদের দূরে নিতে (এটা প্যারামিটার সম্প্রসারণ ব্যবহার করতে চাই, ewww ...)
renameটুল আপনি ব্যবহার করার অনুমতি দেয় s/before/after/(থেকে প্রতিকল্পন সিনট্যাক্স sedswap 'র যে রক্ষাকবচ প্রিফিক্স টুল) এবং মূল ফাইল মুছে, তাই ছবি একটি প্রদত্ত সেট আপনার সামগ্রিক প্রক্রিয়া img-{1..n}.png হবে:
for imgf in img-*.png; do mv "$imgf" "backup-$imgf"; done
for imgf in backup-img-*.png; do convert "$imgf" -rotate 90 "rotated-$imgf"; done
বিঃদ্রঃ:
- আপনি তার
cpপরিবর্তে ব্যবহার করতে পারেন mv, তবে তারপরে মূল কপিরাইটের দুটি কপি রয়েছে (খারাপ দিকটি আপনি উপসর্গের সাথে মিলিত হন, "rotated-backup- ...")
- ঘূর্ণনটি ঘড়ির কাঁটার দিকে (
-rotate 270আপনাকে 90 ° অ্যান্টি-ক্লকওয়াইজ দেয়)
- অগ্রগতি ট্র্যাক করতে, কলগুলির
echo "Rotating ${imgf#backup-} ... ";পরে যুক্ত করুন convert(আগে done)
আরও কমপ্যাক্ট ফর্মের জন্য (যেমন সংখ্যাযুক্ত ফাইলগুলির একটি সেট) এর echo "$(echo ${imgf#backup-img-} | cut -d\. -f 1)...";পরিবর্তে কিছু প্যারামিটার বিস্তৃতি ব্যবহার করুন
(আপনি একই ব্যাশ পরম প্রসারণে উপসর্গ এবং প্রত্যয় মুছে ফেলতে পারবেন না তাই ব্যবহার করুন cut)
তারপরে যাচাইকরণের পরে আপনি গোলযোগ করেননি, ছবিগুলি মূলটিতে ফিরে গিয়ে মুছুন
rename 's/^rotated-//;' rotated-*
rm backup-img-*