خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


جایگزین کردن فاصله با زیرخط در اسامی فایل ها و فولدرها در لینوکس اوبونتو

جایگزین کردن فاصله با زیرخط در اسامی فایل ها و فولدرها در لینوکس اوبونتو
در موارد بسیاری حتی در سیستم عامل های ویندوز وقتی با نام فایلی و یا مسیری در خط فرمان کار دارید، نباید بین اسامی فاصله وجود داشته باشد وگرنه با مشکل مواجه می شوید و از این رو یا باید فاصله بین اسامی را بردارید و یا اینکه باید آن داخل دابل کوتیشن " " قرار دهید. در این مطلب قصد داریم ببینیم که چگونه از طریق خط فرمان می توانیم فاصله بین اسامی را با underscore یا Underline که نشانه آن _ است، جایگزین کنیم.

سیستم یکپارچۀ سازمانی راهکار
تمامی مراحل ما هم در لینوکس Ubuntu 18.04 LTS و هم Ubuntu 20.04 LTS تست شده است و هم اینکه در فولدر Downloads به انجام کارها می پردازیم پس اگر دایرکتوری شما جای دیگری است، باید اول بدان دایرکتوری وارد شوید.


از انجایی که مراحل از طریق خط فرمان اجرا خواهد شد، پس Terminal را باز کنید.
سپس با دستور زیر کلیه فایل های موجود در فولدر Downloads را لیست خواهیم کرد:

ls Downloads

جایگزین کردن فاصله با زیرخط در اسامی فایل ها و فولدرها در لینوکس اوبونتو
در این روش، ما از دستور mv در یک حلقه for استفاده می کنیم تا نام همه فایل ها/فولدرها را در یک دایرکتوری مشخص تغییر دهیم تا همه فضاهای موجود در نام آنها با کاراکتر underscore جایگزین شوند.

cd Downloads
for file in *; do mv "$file" `echo $file | tr ' ' '_'` ; done

جایگزین کردن فاصله با زیرخط در اسامی فایل ها و فولدرها در لینوکس اوبونتو
حالا دوباره دستور اول را برای مشاهده کلیه فایل ها و فولدرهای موجود در دایرکتوری Downloads استفاده کنید و ببینید که برای هر فایل و فولدری که در اسامی آنها فاصله وجود داشته، فاصله به زیر خط تبدیل شد.

در روش دوم از یک اسکریپت bash استفاده می کنیم که از دستور mv برای تغییر نام فایل ها و فولدر ها استفاده می کند به گونه ای که تمام فاصله ها با زیرخط جایگزین شوند. پس با دستور زیر به فولدر bin بروید.

cd ~bin

اکنون، یک فایل اسکریپت جدید را در یکی از ویرایشگرهای متن مورد علاقه خود باز کنید. ما از ویرایشگر nano برای باز کردن یک فایل اسکریپت خالی با نام replace_spaces.sh استفاده خواهیم کرد. البته شما می توانید نام مورد نظرتان را جایگزین کنید.

sudo nano replace_spaces.sh

سپس در فایل، کدهای زیر را کپی کنید:

#!/bin/bash

for f in *
do
new="${f// /_}"
if [ "$new" != "$f" ]
then
if [ -e "$new" ]
then
echo not renaming \""$f"\" because \""$new"\" already exists
else
echo moving "$f" to "$new"
mv "$f" "$new"
fi
fi
done

جایگزین کردن فاصله با زیرخط در اسامی فایل ها و فولدرها در لینوکس اوبونتو
سپس برای ذخیره فایل، کلیدهای Ctrl+X را فشرده و در ادامه وقتی پیغام Save modified buffer را دیدید، Y را تایپ کرده و Enter کنید و سپس به خط فرمان بر می گردید.
برای اینکه این فایل را به یک اسکریپت اجرایی تبدیل کنید، دستور زیر را در ترمینال خود اجرا کنید:

sudo chmod +x replace_spaces.sh

جایگزین کردن فاصله با زیرخط در اسامی فایل ها و فولدرها در لینوکس اوبونتو

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز