منظورتون اینه میخواهید توی یه سری فایل که اسمهاشون متفاوته و پوشههای متفاوت اما همه زیر یک پوشه اصلی، مثل یک ویرایشگر متن replace all کنید؟
نوشته اصلی توسط Esi
دقیقا همین طور هست !
نوشته اصلی توسط Esi
متاسفانه این کد کاربردی نداشت . هیچ تغییری اعمال نکرد . یه بار دیگه عرض میکنم که نام کل فایل تغییری نمیخوام بکنه فقط یه قسمتی از نام فایل ها replace بشه !
دستوری که من نوشتم توی همه فایلها به جای عبارت vampi3 عبارت vampie رو جایگزین میکرد. ظاهرا چیزی که شما میخواهید اینکه اسم فایل تغییر کنه.
اگر اینبار واقعا اینطور هست، و همه فایلهاتون توی یه فلدر هستند، به اون فلدر برید و این دستور رو بزنید:
rename 's/.vampi3/.vampie' *.vampi3
لطفا از فایلهاتون کپی بگیرید و بعدا این دستور رو بزنید.
ویرایش توسط ehsanx : August 11th, 2011 در ساعت 20:14
کمترین قیمت ثبت دامنه (slab آخر DirectI) کام نت ارگ فقط 8.89$
پنل ریسلر با امکان تعریف مشتری و ریسلر با آدرس اختصاصی دلار به قیمت بازار (صرافی کیش)
متاسفانه اینم کار نکرد .من عذر میخوام اگه قبلا منظورم رو بد معرفی کردم. مثال میزنم بهتر متوجه بشوید :
من توی یه پوشه مثلا 50 تا فایل دارم با نام های مختلف که توی نام اکثرشون یه عبارت مشترک (فرض عوض میکنم به نام سایت تا بهتر جا بیفته) وجود داره الان نام یکی از اون فایلها Alive-Video-Converter-5.0.3.2--www.Myoldsite.com--.zip هست .حالا من چون دامنه سایت رو عوض کردم ، در بانک اطلاعاتی سایت اسم تمام فایل هام خودکار به نام دامنه جدید ثبت شده . علاوه بر این یه سری لغات هم دچار تغییر شدند (دقیقا مثل همین ) حالا من میخوام بجای دونه دونه یه دستور بدم تمام فایل ها از اسم قبلی به اسم Alive-Video- Converter-5.0.3.2--www.Mynewsite.com--.zip تغییر کنند ! الان دقیقا مطلب جا افتاد ؟
نوشته اصلی توسط REXNET
دوست عزیز عرض کردم خدمتتون که با دستور rename و استفاده از REGEX مناسب میتونید به خواسته تون برسید. برای اعمال دستور روی تمام فایل های موجود در یک فولدر نیز فقط کافیه از یک حلقه for استفاده کنید.
نوشته اصلی توسط commit
چرا دستورش رو نمینویسید و جمعی رو از نگرانی خارج نمیکنید؟
در تکمیل فرمایش دوست عزیزمون commit ، یادآوری از صدا و سیمای میهن و برخی ضرب المثل های معروف می کنم .
هلو برو تو گلو همیشه راحت تره دیگه... گوگل هم که همه تحریم کردم جدیدا !!!
براتون یک اسکریپت نوشتم که این کار رو براتون انجام بده... ضمیمه کردم که میتونید دانلود کنید. فقط دو نکته:
1. فایل رو حتما با نام rename.sh و در پوشه فایل هاتون قرار بدهید.
2. با دستور زیر میتونید از این اسکریپت استفاده کنید:
کد:
./rename.sh old-phrase new-phrase
ارادتمند
** ویرایش :
1. کاراکتر اضافه آخر فایل پاک شد.
2. اگر سیستم عامل تان ویندوز است، لطفا محتویات فایل رو بصورت دستی و نه توسط FTP به سرور انتقال دهید. (طبق فیلم آموزشی تهیه شده در صفحه بعد)
ویرایش توسط REXNET : August 17th, 2011 در ساعت 20:16
How terrible is wisdom when it holds no benefit for the wise?" - Louis Cypher"
rexnet عزیز، دستوریکه من نوشتم همین کار اسکروپت شما رو میکنه، فقط لازمه که مقادیر ش رو درست ست کنند.
Rename 's/old/new/' *
ببخشید من ندیده بودم پست شما رو، البته روش کار اسکریپتی که نوشتم فرق می کنه... برای چنین کاری از regex هم میشه استفاده کرد ولی نوشتن قسمت regex دستور، ملزم به اینه که دقیقا ترکیب فایل های ایشون رو میدونستم که توضیح نداده بودند... حالا این اسکریپت به یه روش دیگر همون کار رو داره انجام میده.
موفق باشید
How terrible is wisdom when it holds no benefit for the wise?" - Louis Cypher"
ببخشید من ندیده بودم پست شما رو، البته روش کار اسکریپتی که نوشتم فرق می کنه... برای چنین کاری از regex هم میشه استفاده کرد ولی نوشتن قسمت regex دستور، ملزم به اینه که دقیقا ترکیب فایل های ایشون رو میدونستم که توضیح نداده بودند... حالا این اسکریپت به یه روش دیگر همون کار رو داره انجام میده.
موفق باشید
من کلا حال کردم که یه نفر اینجا دست به آچاره :-)
برای جایزه اش خواستم (اگر به احتمال یک درصد این دستور رو نمیشناسی) حال داده باشم :-)
خوش باشی
کمترین قیمت ثبت دامنه (slab آخر DirectI) کام نت ارگ فقط 8.89$
پنل ریسلر با امکان تعریف مشتری و ریسلر با آدرس اختصاصی دلار به قیمت بازار (صرافی کیش)