samedi 10 mars 2012

قذيفة المهوس : إعادة تسمية ملفات متعددة في نفس الوقت

دعونا نقول لديك الدليل مع مئات من الملفات مع أسماء الملفات خطأ ، وكنت ترغب في استبدال كل ملف يحتوي على test with prod. (وهذا هو مثال مفتعلة). يمكننا القيام بذلك بسهولة مع الأمر "من اجل" في باش ، جنبا إلى جنب مع القليل من الخير باش. اليوم سوف نتعلم كيفية استبدال نص في متغير في لحلقة.

في "من أجل" يعمل مثل هذا الأمر :

في لفار ;do $var;done

يمكنك استبدال مع أي ملف نمط المباراة ، مثل * أو *. TXT ، ويمكن استبدال مع أي أمر لينكس. وسيتم تشغيل الأوامر في تسلسل على كل من الملفات يقابله ملف نمط المباراة.

هذا هو المكان الذي تناول متغير باش يجعل حتى أكثر إثارة للاهتمام. بدلا من أن يفعل شيئا من هذا القبيل فقط "MV $ فار" ، يمكننا استبدال النص في ملف باستخدام هذه الجملة :

$ {فار / originaltext / replacetext}

حتى الآن ، واذا كنا تشغيل هذا الأمر على دليلنا :

و في ل* ؛ لا MV و {$ و / اختبار / همز} ؛ فعل

لكل ملف يقابله * ، وسحق تنفيذ أمر مشابهة لهذه :

MV test.config prod.config

لقد وجدت هذه المعرفة من قذيفة لا تقدر بثمن عندما بالإدارة ملقمات أو لمجرد جمع إدارة الملفات ، وأنقذني من ساعة ما كان خلاف ذلك العمل اليدوي.

ونعم ، وأنا أدرك أن هناك عددا من الأدوات التي يمكن أن تنجز إعادة تسمية ملفات متعددة.

Aucun commentaire:

Enregistrer un commentaire