الصفحة الرئيسية » howto » Shell Geek إعادة تسمية ملفات متعددة في وقت واحد

    Shell Geek إعادة تسمية ملفات متعددة في وقت واحد

    لنفترض أن لديك دليلاً يحتوي على مئات الملفات التي تحتوي على أسماء ملفات خاطئة ، وترغب في استبدال كل اسم يحتوي على اسم اختبار مع همز. (هذا هو مثال مفتعلة). يمكننا القيام بذلك بسهولة مع الأمر "for" في bash ، مع القليل من الخير bash. اليوم سوف نتعلم كيفية استبدال النص في متغير في حلقة for.

    يعمل الأمر "for" على النحو التالي:

    ل var؛ do $ var؛

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

    هذا هو المكان الذي يجعل منه معالجة باش المتغيرة أكثر إثارة للاهتمام. بدلاً من القيام بشيء مثل "mv $ var" ، يمكننا استبدال النص في اسم الملف باستخدام بناء الجملة هذا:

    $ فار / originaltext / replacetext

    الآن ، إذا قمنا بتشغيل هذا الأمر على دليلنا:

    for f in *؛ do mv $ f $ f / test / prod؛ done

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

    mv test.config prod.config

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

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