از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش استفاده از Bash برای تغییر پسوند فایل چند فایل در یک پوشه
سرفصلهای مطلب
روش 1: حلقه Bash
رایج ترین راه برای تغییر پسوند فایل به صورت بازگشتی در دایرکتوری استفاده از a است bash برای حلقه میتوانیم از کاربر بخواهیم فهرست هدف، پسوند قدیمی، و پسوند جدید را برای تغییر نام با استفاده از a وارد کند bash اسکریپت
مرحله 1: اسکریپت را جمع آوری کنید
اجازه دهید شروع به مونتاژ اسکریپت کنیم. اولین قسمتی که نیاز داریم این است که دایرکتوری هدف را بدست آوریم. برای این، ما می توانیم bash به عنوان خوانده شده:
echo “دایرکتوری مورد نظر را وارد کنید”
خواندن target_dir
سی دی $target_dir
echo “پسوند فایل را برای جستجو بدون نقطه وارد کنید”
خواندن old_ext
echo “پسوند فایل جدید را برای تغییر نام بدون نقطه وارد کنید”
خواندن new_ext
echo “$target_dir، $old_ext، $new_ext“
اسکریپت بالا از کاربر دایرکتوری می خواهد process و سپس cd را وارد دایرکتوری set کنید.
بعد، پسوند قدیمی را بدون نقطه (.) دریافت می کنیم. در نهایت، پسوند جدید را برای تغییر نام فایل ها دریافت می کنیم.
حال به پردازش فایل ها می پردازیم. برای این؛ ما می توانیم یک قانون ساده را پیاده سازی کنیم که به صورت بازگشتی فایل ها را به صورت زیر جستجو می کند:
انجام دادن
mv -v “$file“ “${file%.$old_ext}.$new_ext“
انجام شده;
حلقه for بالا، دایرکتوری تصویب شده را برای همه فایلهای با پسوند قدیمی جستجو میکند و نام آنها را به پسوند جدید تغییر میدهد.
برای پرمخاطب شدن، از دستور mv با -v استفاده می کنیم. شما می توانید این خروجی را با جایگزین کردن پرچم -v با – سرکوب کنید.
مرحله 2: اسکریپت را اجرا کنید
حالا بیایید اسکریپت را آزمایش کنیم. اسکریپت نهایی در زیر آمده است:
echo “دایرکتوری مورد نظر را وارد کنید”
خواندن target_dir
سی دی $target_dir
echo “پسوند فایل را برای جستجو بدون نقطه وارد کنید”
خواندن old_ext
echo “پسوند فایل جدید را برای تغییر نام بدون نقطه وارد کنید”
خواندن new_ext
echo “$target_dir، $old_ext، $new_ext“
برای فایل که در *.$old_ext
انجام دادن
mv -v “$file“ “${file%.$old_ext}.$new_ext“
انجام شده;
در این تست از پوشه /var/log استفاده می کنیم و نام تمام فایل های log را به .bak تغییر می دهیم. در اینجا محتویات دایرکتوری قبل از اجرای اسکریپت آمده است.
حالا اجازه دهید اسکریپت را اجرا کنیم.
$ sudo ./extensions
اسکرین شات بالا اسکریپت را در حال پردازش فایل ها و تغییر نام همه فایل ها با .log به .bak نشان می دهد.
از آنجایی که این یک اسکریپت تعاملی است، زمانی که نمیخواهید برنامههای افزودنی را کدنویسی کنید، مفید است.
در زیر محتویات پوشه /var/log بعد از اسکریپت آمده است.
برای برگرداندن تغییرات، پسوند قدیمی را به .bak و پسوند جدید را به صورت .log تغییر دهید
روش 2: تغییر نام دستور
اگر تمایلی به کار با یک اسکریپت ندارید، می توانید از ابزار تغییر نام برای تغییر پسوند فایل ها به صورت بازگشتی استفاده کنید.
برای نصب تغییر نام از دستور زیر استفاده کنید:
پس از نصب، می توانید از دستور تغییر نام به صورت زیر استفاده کنید:
سی دی /var/log/
# تغییر پسوند
sudo تغییر نام ‘s/\.log/.bak/’ *.log
برای برگرداندن تغییرات، .bak را به .log تغییر دهید و بالعکس.
روش 3: دستور MMV
همچنین می توانید از دستور mmv استفاده کنید که به شما امکان می دهد چندین فایل را به طور همزمان جابجا کنید. mmv را با دستور نصب کنید:
برای تغییر نام فایل ها با دستور mmv:
mmv “*.csv” “#1.xls”
شماره 1 فایل ها را به دایرکتوری فعلی منتقل می کند. پس از اجرای دستور، نام تمام فایل های .log به پسوند مشخص شده تغییر می کند.
جمع بندی
این مقاله روشهای مختلفی را مورد بحث قرار میدهد که میتوانید به صورت بازگشتی پسوندهای فایل را در یک فهرست خاص تغییر نام دهید. با این حال، خوب است توجه داشته باشید که میتوانید استراتژیهایی غیر از مواردی که در این راهنما مورد بحث قرار گرفتهاند، پیادهسازی کنید.
ممنون که خواندید و به اشتراک بگذارید!
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 18:29:04