به سایت ما خوش آمدید . امیدوارم لحظات خوشی را درسایت ما سپری نمایید .

خوش آمدید

هر گونه نظر و پیشنهاد و انتقادی داشتید، در قسمت نظرات اعلام کنید.

اگر تعداد زیادی فایل دارید كه باید نام همه‌شان به چیز مشابه دیگری تغییر كند، در ویندوز معمولا به سراغ 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 تغییرخواهد كرد و نام فایل بعدی به همین ترتیب و...

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

ادامه مطلب
دوشنبه 31 مرداد 1390  - 11:37 AM

جستجو

آمار سایت

کل بازدید : 6008386
تعداد کل پست ها : 30564
تعداد کل نظرات : 1029
تاریخ ایجاد بلاگ : پنج شنبه 19 شهریور 1388 
آخرین بروز رسانی : دوشنبه 19 آذر 1397 

نویسندگان

ابوالفضل اقایی