تغيير أسماء كل الملفات داخل مجلد معين إلى ترقيم متسلسل في صدفة فِش (FISH) ؟

· · 254 كلمة · 2 دقيقة قراءة

تغيير أسماء كل الملفات من نوع معين داخل مجلد محدد 🔗

أولاً، اذهب إلى المجلد الموجود به الملفات من خلال هذا الأمر.

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) أو غيّر إلى الإمتداد الذي تريده.

أتمنى أن تكون قد استفدت من الموضوع ، إن كنت تعرف أي شخص يُمكنه الإستفادة من هذه المعلومات، ارسل له رابط هذا المقال. إن أردت معرفة الموضوعات الجديدة بعد نشرها مباشرةً على موقع أبانوب حنا ، تابعني على يوتيوب و تيليجرام ، و فيسبوك ، و واتساب .

التصنيفات: برمجة
مشاركة: