بسط آکولاد (Brace Expansion) در خط فرمان لینوکس

شاید عجیبترین نوع بسط، بسط بریس یا همان بسط آکولاد باشد. با استفاده از آن شما میتوانید چندین رشته متنی از یک الگو حاوی بریسها را ایجاد کنید.
بسط آکولاد (Brace Expansion)
به مثال زیر توجه کنید:
1 2 |
[me@linuxbox ~]$ echo Front-{A,B,C}-Back Front-A-Back Front-B-Back Front-C-Back |
الگوهایی که با بریس بسط داده میشوند شاید شامل یک بخش پیشین با نام preamble و بخش انتهایی با نام postscript باشد. بسط آکولاد ممکن است خودش شامل اعداد صحیح و تککاراکترها باشد که با کاما از هم جدا شدهاند.
مثالی از لیست اعداد صحیح:
1 2 |
[me@linuxbox ~]$ echo Number_{1..5} Number_1 Number_2 Number_3 Number_4 Number_5 |
و در این مثال رنجی از حروف به ترتیب بر عکس آورده شده است:
1 2 |
[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 |
و در این مثال بسط بریسهای تودرتو آورده شده است:
1 2 |
[me@linuxbox ~]$ echo a{A{1,2},B{3,4}}b aA1b aA2b aB3b aB4b |
کاربرد این بسطها چیست؟
رایجترین کاربرد و اپلیکیشن برای ایجاد لیستهایی از فایلها و پوشه میباشد. برای مثال اگر ما عکاس بودیم و کلکسیون عظیمی از تصاویر را داشتیم که میخواستیم آنها را بر اساس فرمت ماه و سال نامگذاری شده باشد. به این شیوه، نام پوشهها به تریتب تاریخ مرتب خواهد شد. میتوان یک لیست کامل از پوشهها را تایپ کرد ولی این شیوه زمان زیادی میبرد و خطای آن بالاست.
به مثال زیر توجه کنید:
1 2 3 4 5 6 7 8 9 10 |
[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 |