<ก่อนหน้านี้ | Contents | ถัดไป>
การขยายตัวของรั้ง
บางทีการขยายตัวที่แปลกประหลาดที่สุดเรียกว่า การขยายตัวของรั้ง. คุณสามารถสร้างสตริงข้อความได้หลายแบบจากรูปแบบที่มีเครื่องหมายวงเล็บปีกกา นี่คือตัวอย่าง:
[me@linuxbox ~]$ เสียงสะท้อนด้านหน้า-{A,B,C}-หลัง
หน้า-หลัง-หน้า-B-หลัง หน้า-C-หลัง
[me@linuxbox ~]$ เสียงสะท้อนด้านหน้า-{A,B,C}-หลัง
หน้า-หลัง-หน้า-B-หลัง หน้า-C-หลัง
รูปแบบที่จะรั้งขยายอาจมีส่วนนำที่เรียกว่าa คำนำ และส่วนต่อท้ายเรียกว่า คำลงท้าย. นิพจน์วงเล็บปีกกาอาจมีรายการสตริงที่คั่นด้วยเครื่องหมายจุลภาค หรือช่วงของจำนวนเต็มหรืออักขระเดี่ยว รูปแบบต้องไม่มีช่องว่างที่ฝังอยู่ นี่คือตัวอย่างการใช้ช่วงของจำนวนเต็ม:
[me@linuxbox ~]$ ก้องจำนวน_{1..5}
เบอร์_1 เบอร์_2 เบอร์_3 เบอร์_4 เบอร์_5
[me@linuxbox ~]$ ก้องจำนวน_{1..5}
เบอร์_1 เบอร์_2 เบอร์_3 เบอร์_4 เบอร์_5
จำนวนเต็มอาจเป็น ศูนย์เบาะ เช่น:
[me@linuxbox ~]$ เสียงสะท้อน {01..15}
01 02 03 04 05 06 07 08 09 10 11 12 13
[me@linuxbox ~]$ เสียงสะท้อน {01..15}
01 02 03 04 05 06 07 08 09 10 11 12 13
[me@linuxbox ~]$ เสียงสะท้อน {001..15}
001 002 003 004 005 006 007 008 009 010 011 012 013
[me@linuxbox ~]$ เสียงสะท้อน {001..15}
001 002 003 004 005 006 007 008 009 010 011 012 013
ช่วงของตัวอักษรในลำดับที่กลับกัน:
[me@linuxbox ~]$ ก้อง {Z..A}
ZYXWVUTSRQPONMLKJIHGF EDCBA
[me@linuxbox ~]$ ก้อง {Z..A}
ZYXWVUTSRQPONMLKJIHGF EDCBA
ส่วนขยายรั้งอาจซ้อนกัน:
[me@linuxbox ~]$ ก้อง {A{1,2},B{3,4}}b
aA1b aA2b aB3b aB4b
[me@linuxbox ~]$ ก้อง {A{1,2},B{3,4}}b
aA1b aA2b aB3b aB4b
แล้วมันดีสำหรับอะไร? แอปพลิเคชันทั่วไปคือการสร้างรายการไฟล์หรือไดเร็กทอรีที่จะสร้าง ตัวอย่างเช่น หากเราเป็นช่างภาพและมีคอลเลกชั่นรูปภาพจำนวนมากซึ่งเราต้องการจัดระเบียบเป็นปีและเดือน สิ่งแรกที่เราอาจทำคือสร้างชุดไดเร็กทอรีที่มีชื่อในรูปแบบตัวเลข “ปี-เดือน” ด้วยวิธีนี้ ชื่อไดเร็กทอรีจะเรียงลำดับตามลำดับเวลา เราสามารถพิมพ์รายชื่อไดเร็กทอรีทั้งหมดได้ แต่นั่นก็ทำได้เยอะ และมีโอกาสเกิดข้อผิดพลาดได้เช่นกัน เราสามารถทำเช่นนี้ได้:
[me@linuxbox ~]$ mkdir ภาพถ่าย
[me@linuxbox ~]$ cd ภาพถ่าย
[ภาพถ่าย me@linuxbox]$ mkdir {2007..2009}-{01..12}
[ภาพถ่าย me@linuxbox]$ ls
2007-01 | 2007-07 | 2008-01 | 2008-07 | 2009-01 | 2009-07 |
2007-02 | 2007-08 | 2008-02 | 2008-08 | 2009-02 | 2009-08 |
2007-03 | 2007-09 | 2008-03 | 2008-09 | 2009-03 | 2009-09 |
2007-04 | 2007-10 | 2008-04 | 2008-10 | 2009-04 | 2009-10 |
2007-05 | 2007-11 | 2008-05 | 2008-11 | 2009-05 | 2009-11 |
2007-06 | 2007-12 | 2008-06 | 2008-12 | 2009-06 | 2009-12 |
เนียนกริ๊บ!