تغییر نام صدها فایل تنها با یک دستور

irancn.com

فرض بگیریم فولدری دارید که تعداد زیادی فایل در آن وجود دارد و می‌خواهید نام فایل‌ها را عوض کنید.

مثلا همه‌شان نام ‌IMG‌ دارند و می‌خواهید به جای آن بنویسید ‌Image‌. به‌طور یقین تغییر نام به روش دستی ساعت‌ها به‌طول می‌‌انجامد اما با کمک این فن کوچک و مختصر، می‌توانید وقت زیادی را بخرید:

دستور ‌for‌ در اسکریپت‌ها اینگونه عمل می‌کند:‌

for var in ;

‌var;done$ do

می‌توانید به‌جای ‌‌ هر چیزی بنویسید. مثلا * یا ‌*.txt‌ همچنین می‌توانید داخل ‌‌ هر چیزی که دستور لینوکس باشد را اجرا کنید. توجه کنید که دستور هر بار که یک فایل پیدا شد اجرا می‌شود. حالا اینجا با کمک یک متغیر می‌توانیم کار را جالب‌تر کنیم. به‌جای این‌که فقط از متغیر استفاده کنیم (مثل var$(‌ می‌توانیم با استفاده از این الگوی نگارشی، عملیات جایگزینی را هم روی هوا انجام دهیم: ‌ ‌

‌{var/originaltext/replacetext}$‌

بنابراین اگر این دستور را داخل دایرکتوری عکس‌هایمان اجرا کنیم: ‌ ‌

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

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

‌ .jpg230.jpg Image_230mv IMG_

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد