0

تغيير نام چند فايل با يك دستور

 
samsam
samsam
کاربر طلایی1
تاریخ عضویت : بهمن 1387 
تعداد پست ها : 50672
محل سکونت : یزد

تغيير نام چند فايل با يك دستور

اگر تعداد زیادی فایل دارید كه باید نام همه‌شان به چیز مشابه دیگری تغییر كند، در ویندوز معمولا به سراغ Batch File Processorها خواهیم رفت (كه پیشتر در همین ضمیمه چند نرم‌افزار مرتبط معرفی شده است). اما كاربران دو آتشه لینوكس، معمولا به این افتخار می‌كنند كه ترمینال قدرتمند لینوكسی، آنها را از نصب بيشتر نرم‌افزارهای خرد و جانبی بی‌نیاز می‌كند و می‌توانند مستقیما امور حرفه‌ای‌تری انجام دهند.
 

 تغییر دستی نام‌ فایل‌ها مدت زیادی طول می‌كشد، اما اگر بتوان اسكریپتی نوشت كه تك‌تك فایل‌های یك دایركتوری را بخواند و نام‌ هر فایل را تغییر دهد، در وقت بسیار صرفه‌جویی خواهد شد. دستور for در اسكريپت‌ها اين‌گونه عمل مي‌كند:‌

for var in «files»;do «command» $var;done

مي‌توان به‌جاي «files» هر چيزي نوشت. مثلا * يا *.txt همچنين مي‌توانيد داخل «command» هر چيزي را كه دستور لينوكسی باشد اجرا كرد. توجه داشته باشید كه این دستور هر بار كه فايلی پيدا شد، اجرا مي‌شود.

حالا با كمك يك متغير مي‌توانيم كار را جالب‌تر كنيم. به‌جاي اين‌كه فقط از متغير استفاده كنيم (مثل var$) مي‌توانيم با استفاده از اين الگوي نگارشي، عمليات جايگزيني را هم انجام دهيم:

${var‌/‌originaltext‌/‌replacetext}

بنابراين اگر اين دستور را داخل دايركتوري از عكس‌ها با نام‌های مشابه اجرا كنيم:

for f in *;do mv $f ${f‌/‌IMG‌/‌Image};done

براي هر فايلي كه داراي الگوي * باشد (يعني همه فايل‌ها)، دستور زير اجرا مي‌شود:‌

mv IMG_00042.jpg Image_00042.jpg

 

و این یعنی نام آن فایل از IMG_00042.jpg به Image_00042.jpg تغییرخواهد كرد و نام فایل بعدی به همین ترتیب و...

در نتیجه در كمتر از چند ثانیه، فولدری جدید خواهیم داشت كه اطلاعات فایل‌هایمان در آن به‌روز شده‌اند.

چهار راه برای رسیدن به آرامش:
1.نگاه کردن به عقب و تشکر از خدا  2.نگاه کردن به جلو و اعتماد به خدا  3.نگاه کردن به اطراف و خدمت به خدا  4.نگاه کردن به درون و پیدا کردن خدا

پل ارتباطی : samsamdragon@gmail.com

تالارهای تحت مدیریت :

مطالب عمومی کامپیوتراخبار و تکنولوژی های جدیدسیستم های عاملنرم افزارسخت افزارشبکه

 

دوشنبه 31 مرداد 1390  11:38 AM
تشکرات از این پست
دسترسی سریع به انجمن ها