บทที่ 16
Wildcards (* , ?)
มาต่อกันอีกหนึ่งความสามารถอันโดดเด่นของ CLI กันครับ (จริงๆ ต้องบอกว่าความสามารถของ Shell) Wildcards เป็นการแทนที่ตัวอักษรด้วยสัญลักษณ์ ทำให้เราสามารถที่จะพลิกแพลงประยุกต์ใช้งาน Command-line ได้อย่างมีประสิทธิภาพมากยิ่งขึ้น ซึ่งถ้าให้อธิบายอาจจะพางงกันได้ ผมว่าไปลองดูกันที่แบบฝึกหัดกันดีกว่าครับ ขอให้คุณตั้งใจสังเกตผลลัพธ์หน่อยนะครับ
แบบฝึกหัด 16-1
1 $ cd ~/learncli
2 $ ls
3 catfox.txt colors.txt foxcat.txt movedir sortcolors.txt
4 cat.txt copydir fox.txt right toolong.txt
5
6 $ ls c*
7 $ ls *.txt
8 $ cat *.txt > mixtext.txt
9 $ less mixtext.txt
10
11 $ ls *cat*.txt
12 $ ls *fox*.txt
13 $ mkdir cattxt/ foxtxt/
14
15 $ cp *cat*.txt cattxt/
16 $ cp *fox*.txt foxtxt/
17 $ ls cattxt/
18 $ ls foxtxt/
แบบฝึกหัด 16-2
1 $ cat > red.color
2 red
3 ^D
4
5 $ cat > green.color
6 green
7 ^D
8
9 $ cat > blue.color
10 blue
11 ^D
12
13 $ ls *.color
14 $ cat *.color
15 $ cat *.color | sort -r > rgb.color
16 $ cat rgb.color
แบบฝึกหัด 16-3
1 $ ls
2 $ ls *.*
3 $ ls *.txt
4 $ ls *.color
5 $ ls *.???
6 $ ls *.????
7 $ ls *.?????
8 $ ls ???.*
9 $ ls ????.*
10
11 $ mkdir art/
12 $ mv *color* art/
13 $ ls
14 $ ls art/
15
16 $ rm *.txt
17 $ ls
18 $ rm -rv *dir
19 $ ls
บทนี้เรียนรู้อะไร?
- คุณสามารถกรองผลลัพธ์หรือคัดเลือก file หรือ directory ได้โดยใช้
*หรือ? - คุณสามารถใช้สัญลักษณ์
*แทนตัวอักษรอะไรก็ได้และกี่ตัวก็ได้ - คุณสามารถใช้สัญลักษณ์
?แทนตัวอักษรอะไรก็ได้แต่แทนได้แค่หนึ่งตัว
เพิ่มเติม
- สัญลักษณ์ที่ใช้สำหรับ wildcards ยังมีอีกลองค้นหาดูในอินเตอร์เน็ตครับ