بسیاری از سیستم های دسک تاپ لینوکس تصاویر صفحه را با نام هایی از جمله ذخیره می کنند Screenshot from 2020-11-29 18-57-51.png
. اغلب آنچه واقعاً به آن نیاز داشتید ، تغییر نام پرونده ها به موارد واضح تری مانند این بود webinar1.png
، webinar2.png
، و غیره خوشبختانه تغییر نام یک گروه از پرونده ها در خط فرمان Linux بسیار آسان است.
پوسته Bash بسیار انعطاف پذیر است و روشهای مختلفی را برای ارزیابی مقادیر و گسترش متغیرها ارائه می دهد. ارزیابی خوبی است برآورد حسابي. برای انجام این ارزیابی ، عبارت حسابی خود را با $((
و ))
.
ارزیابی ممکن است شامل یک پسوند متغیر باشد ، مانند $sum
برای حل و فصل در ارزش. اما برای راحتی همه متغیرهای Bash که در این بین ذکر شده اند $((
و ))
گسترش خودکار به عنوان مثال ، برای افزایش تعداد متغیرها توسط 1 ، می توانید وارد کنید:
count=$(( count + 1 ))
این همان نوشتن است:
count=$(( $count + 1 ))
پسوند حساب از عملگرهای مشابه سایر زبان های برنامه نویسی ، از جمله پشتیبانی می کند +
و -
برای جمع و تفریق ، *
و /
برای ضرب و تقسیم ، و %
برای استراحت. همچنین می توانید استفاده کنید ++
و --
برای افزایش و کاهش یک مقدار در یک متغیر. کتابچه راهنمای Bash را بررسی کرده و برای مشاهده لیست کاملی از اپراتورهای پشتیبانی شده و اولویت آنها ، به پایین ارزیابی ARITHMETIC EVALUATION بروید.
برای تغییر نام عکس های صفحه خود ، باید این دستور Bash خط را بنویسم:
n=1; for f in Screenshot*.png; do mv -v "$f" webinar$n.png; n=$(( n + 1 )); done
اما این چه کاری انجام می دهد؟
اولین قسمت از دستور ، n=1
، مقدار اولیه را متغیر می کند n
به 1
سپس من از a استفاده می کنم for
حلقه برای کار با تمام پرونده هایی که با شروع می شوند Screenshot
و با پایان می یابد .png
افزونه. اینها معمولاً همه عکسهای صفحه ای است که در آخرین وبینارم گرفته ام. اگر نیاز به دقت بیشتری داشته باشم ، می توانم تاریخ را در این مشخصات پرونده قرار دهم ، مانند Screenshot from 2020-11-29*.png
. Backslashes اجتناب واقعی برای حفظ فضاهای موجود در نام پرونده است.
هر تکرار حلقه for یک نام فایل را در متغیر f ذخیره می کند. به طوری که mv
تیم mv -v "$f" webinar$n.png
نام هر پرونده را به نام پرونده دلخواه من مانند تغییر نام می دهد webinar1.png
، webinar2.png
، و غیره من احتیاج به نقل قول دارم $f
پسوند متغیر به طوری که فواصل در Screenshot from YYYY-MM-DD hh-mm-ss.png
مشکلی در معدن ایجاد نکنید mv
تیم اگر خطایی مانند mv: target 'webinar1.png' is not a directory
، احتمالاً نقل قول نکرده اید $f
.
سرانجام مقدار را در افزایش می دهم n
متغیر به طوری که برای تکرار بعدی در حلقه آماده باشد. پسوند حسابی n=$(( n + 1 ))
افزایش n
متغیر با 1.
منبع: khabar-mehman.ir