تغيير أسماء كل الملفات داخل مجلد معين إلى ترقيم متسلسل في صدفة فِش (FISH) ؟
تغيير أسماء كل الملفات من نوع معين داخل مجلد محدد 🔗
أولاً، اذهب إلى المجلد الموجود به الملفات من خلال هذا الأمر.
cd /path/to/your/directory/
استخدم هذا الأمر لتغيير اسم كل الصور المنتهية بـ .png
إلى أرقام متسلسلة.
set i 1
for file in *
mv $file (printf "%02d.png" $i)
set i (math $i + 1)
end
شرح الأمر 🔗
أول سطر في السكربت هو set i 1
ومعناه أننا نكوّن متغير بإسم i
ونحدد قيمته بـ 1
.
باقي السكربت هو حلقة تكرارية للمرور على كل الملفات داخل المجلد الحالي، لأننا حددنا *
وهي تدل على كل الملفات.
الأمر mv
يستخدم دائماً في تغيير مكان الملف أو اسم الملف أو كلاهما معاً. لكن في هذا السكربت استخدمناه لتغيير اسم الملفات.
السطر printf "%02.png" $i
معناه كتابة اسم الملف بعد التغيير ليكون عبارة عن قيمة المتغير i في شكل رقمين ليكون اسم الصورة الأولى 01.png
والصفحة الـ ١٢ تكون 12.png
وهكذا.
الأمر set i (math $i + 1)
يقوم بزيادة قيمة المتغير i درجة واحدة لكي يُستخدَم في إنشاء اسم الصورة التالية في الحلقة التكرارية.
إن كنت تريد تغيير ملفات نصية وليست ملفات صور بصيغة png غيّر هذا الجزء من السكربت mv $file (printf "%02d.png" $i)
إلى mv $file (printf "%02d.txt" $i)
أو غيّر إلى الإمتداد الذي تريده.
أتمنى أن تكون قد استفدت من الموضوع ، إن كنت تعرف أي شخص يُمكنه الإستفادة من هذه المعلومات، ارسل له رابط هذا المقال. إن أردت معرفة الموضوعات الجديدة بعد نشرها مباشرةً على موقع أبانوب حنا ، تابعني على يوتيوب و تيليجرام ، و فيسبوك ، و واتساب .