بسط آکولاد (Brace Expansion) در خط فرمان لینوکس
شاید عجیبترین نوع بسط، بسط بریس یا همان بسط آکولاد باشد. با استفاده از آن شما میتوانید چندین رشته متنی از یک الگو حاوی بریسها را ایجاد کنید.
بسط آکولاد (Brace Expansion)
به مثال زیر توجه کنید:
[me@linuxbox ~]$ echo Front-{A,B,C}-Back
Front-A-Back Front-B-Back Front-C-Back
الگوهایی که با بریس بسط داده میشوند شاید شامل یک بخش پیشین با نام preamble و بخش انتهایی با نام postscript باشد. بسط آکولاد ممکن است خودش شامل اعداد صحیح و تککاراکترها باشد که با کاما از هم جدا شدهاند.
مثالی از لیست اعداد صحیح:
[me@linuxbox ~]$ echo Number_{1..5}
Number_1 Number_2 Number_3 Number_4 Number_5
و در این مثال رنجی از حروف به ترتیب بر عکس آورده شده است:
[me@linuxbox ~]$ echo {Z..A}
Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
و در این مثال بسط بریسهای تودرتو آورده شده است:
[me@linuxbox ~]$ echo a{A{1,2},B{3,4}}b
aA1b aA2b aB3b aB4b
کاربرد این بسطها چیست؟
رایجترین کاربرد و اپلیکیشن برای ایجاد لیستهایی از فایلها و پوشه میباشد. برای مثال اگر ما عکاس بودیم و کلکسیون عظیمی از تصاویر را داشتیم که میخواستیم آنها را بر اساس فرمت ماه و سال نامگذاری شده باشد. به این شیوه، نام پوشهها به تریتب تاریخ مرتب خواهد شد. میتوان یک لیست کامل از پوشهها را تایپ کرد ولی این شیوه زمان زیادی میبرد و خطای آن بالاست.
به مثال زیر توجه کنید:
[me@linuxbox ~]$ mkdir Pics
[me@linuxbox ~]$ cd Pics
[me@linuxbox Pics]$ mkdir {2009..2011}-0{1..9} {2009..2011}-{10..12}
[me@linuxbox Pics]$ ls
2009-01 2009-07 2010-01 2010-07 2011-01 2011-07
2009-02 2009-08 2010-02 2010-08 2011-02 2011-08
2009-03 2009-09 2010-03 2010-09 2011-03 2011-09
2009-04 2009-10 2010-04 2010-10 2011-04 2011-10
2009-05 2009-11 2010-05 2010-11 2011-05 2011-11
2009-06 2009-12 2010-06 2010-12 2011-06 2011-12
درباره فرشید نوتاش حقیقت
همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرمافزارهای آزاد/ متنباز و سیستمعامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.
نوشتههای بیشتر از فرشید نوتاش حقیقتاین سایت از اکیسمت برای کاهش جفنگ استفاده میکند. درباره چگونگی پردازش دادههای دیدگاه خود بیشتر بدانید.
دیدگاهتان را بنویسید