انجمن کاربران لینوکس ایران - تکنوتاکس سابق
تغییر نام فایلها به صورت دسته جمعی - نسخه قابل چاپ

+- انجمن کاربران لینوکس ایران - تکنوتاکس سابق (https://forum.sito.ir)
+-- انجمن: پرسش‌ها و پاسخ‌ها (https://forum.sito.ir/forumdisplay.php?fid=3)
+--- انجمن: لینوکس و برنامه نویسی (https://forum.sito.ir/forumdisplay.php?fid=13)
+--- موضوع: تغییر نام فایلها به صورت دسته جمعی (/showthread.php?tid=15941)



تغییر نام فایلها به صورت دسته جمعی - Pari_programmer - 2010-05-30

سلام
من توی یه فولدر تعداد زیادی فایل دارم که اسمشون مثل اینه:
string1IDstring2
string1 یه رشته اس که در همه فایلها یکسانه. اما string2 متغیره. ID هم شناسه فایله. حالا میخوام تموم این فایلها رو با یه اسکریپت تغییر نام بدم و string1 و string2 رو از اونها حذف کنم و فقط ID اون فایل رو به عنوان اسمش قرار بدم. چیکار باید بکنم؟
میشه لطف کنید و اسکریپت اون رو برام قرار بدید؟ میخوام به صورت یه قایل اجرایی باشه. ممنونم.


پاسخ: تغییر نام فایلها به صورت دسته جمعی - مهمان - 2010-05-30

باید طول یا فرمت ID رو هم مشخص بفرمایید.
آیا طول ثابتی داره؟ (کار خیلی راحت میشه)
آیا طول ثابتی نداره ولی فرمت معینی داره؟ (نیاز به روشی هست که انتهای ID مشخص و از string2 جدا بشه)


پاسخ: تغییر نام فایلها به صورت دسته جمعی - Pari_programmer - 2010-05-31

سلام
ID يك عدد 7 رقميه. string1 و string2 هم بين تموم فايلها يكسانه
مثلا:
asd1234567fgh
asd8523658fgh


- farhamxp - 2010-05-31

کد :
#!/bin/bash
ls |
while read filename
do
newname=`echo $filename|cut -c4-10`
mv $filename $newname
done



- Pari_programmer - 2010-06-03

سلام farham جان.
ممنونم. كدتون خيلي عالي بود. جواب داد. باز هم ممنونم.
خدانگهدار.


- TimmyTurner - 2010-06-04

میتونی واسه راحتی کارت از krename (یا شاید اسمش krenamer بود) استفاده کنی.


- TimmyTurner - 2010-06-04

میتونی واسه راحتی کارت از krename (یا شاید اسمش krenamer بود) استفاده کنی.