RENAME(1)

الاسم
rename - غيّر أسماء الملفات

موجز

rename [خيارات] السلسلة_الفرعية الاستبدال الملف...

الوصف

سيغير rename أسماء الملفات المحددة عبر استبدال التكرار الأول لـ السلسلة_الفرعية في أسمائها بـ الاستبدال.

الخيارات

-s، --symlink
    لا تغير اسم الوصلة الرمزية بل غير وجهة إشارتها.

-v، --verbose
    أظهر الملفات التي غُيرت أسماؤها، إن وجدت.

-n، --no-act
    لا تجرِ أي تغييرات؛ أضف --verbose لرؤية ما سيحدث.

-a، --all
    استبدال جميع تكرارات السلسلة_الفرعية بدلاً من التكرار الأول فقط.

-l، --last
    استبدال التكرار الأخير لـ السلسلة_الفرعية بدلاً من الأول.

-o، --no-overwrite
    لا تكتب فوق الملفات الموجودة. عندما يكون --symlink نشطاً، لا تكتب فوق الوصلات الرمزية التي تشير إلى أهداف موجودة.

-i، --interactive
    اسأل قبل الكتابة فوق الملفات الموجودة.

-h، --help
    اعرض نص المساعدة ثم اخرج.

-V، --version
    اعرض الإصدار واخرج.

تحذير

لا تملك عملية تغيير الأسماء أي ضمانات بشكل مبدئي أو دون أي من الخيارات --no-overwrite أو --interactive أو --no-act. إذا كان للمستخدم صلاحية إعادة كتابة أسماء الملفات، فسينفذ الأمر الإجراء دون أي أسئلة. على سبيل المثال، قد تكون النتيجة وخيمة عند تشغيل الأمر كجذر (root) في دليل {lib}. احرص دائماً على أخذ نسخة احتياطية قبل تشغيل الأمر، إلا إذا كنت تدرك فعلياً ما تفعله.

حالات خاصة

إذا كانت السلسلة_الفرعية فارغة، فسيُضاف الاستبدال مبدئياً إلى بداية اسم الملف. ومع خيار --all، سيُدرج الاستبدال بين كل حرفين من اسم الملف، بالإضافة إلى البداية والنهاية.

عادةً، يُحدث المكون الأخير فقط من مسار اسم الملف. (أو مع --symlink، يُحدث المكون الأخير فقط لمسار الوصلة.) ولكن إذا احتوت السلسلة_الفرعية أو الاستبدال على الرمز /، فسيُحدث المسار الكامل. قد يتسبب هذا في نقل الملف بين المجلدات. علماً أن إنشاء المجلدات ونقل الملفات بين أنظمة الملفات غير مدعوم.

الوضع التفاعلي

كغالبية الأدوات القياسية، يمكن استخدام rename مع جهاز طرفي (tty باختصار) في الوضع القانوني، حيث يُخزن السطر مؤقتاً بواسطة tty وتضغط على ENTER للمصادقة على إدخال المستخدم. أما إذا وضعت tty في وضع cbreak، فإن rename يتطلب ضغطة مفتاح واحدة فقط للإجابة على المطالبة. لضبط وضع cbreak، شغّل مثلاً:

    sh -c 'stty -icanon min 1; "$0" "$@"; stty icanon' rename -i from to files

حالة الخروج

0
    نجحت جميع عمليات تغيير الأسماء المطلوبة

1
    فشلت جميع عمليات تغيير الأسماء

2
    فشلت بعض عمليات تغيير الأسماء

4
    لم يُغير اسم أي شيء

64
    حدث خطأ غير متوقع

أمثلة

بفرض وجود الملفات foo1، ...، foo9، foo10، ...، foo278، فإن الأوامر

    rename foo foo00 foo?
    rename foo foo0 foo??

ستحولها إلى foo001، ...، foo009، foo010، ...، foo278. و

    rename .htm .html *.htm

سيصلح امتداد ملفات html الخاصة بك. قدم سلسلة فارغة للتقصير:

    rename '_with_long_name' '' file_with_long_name.*

سيزيل السلسلة الفرعية في أسماء الملفات.

انظر أيضاً

mv(1)

التبليغ عن الأخطاء

لتقارير العِلل، استخدم

التوفر

الأمر rename جزء من حزمة util-linux التي يمكن تنزيلها من