[2-57]เป็นชุดตัวอักษรประกอบด้วย2, 3, 4, 5และ7ใน zsh และทุกสัญลักษณ์แทนอื่น ๆ และไวยากรณ์ regexp ออกมี รูปแบบ glob ของคุณ*[2-57]ตรงกับชื่อไฟล์ทุกตัวที่มีอักขระตัวสุดท้ายเป็นหนึ่งในห้าหลัก
ผมคิดว่าคุณกำลัง misremembering ไวยากรณ์ของรอบคัดเลือก[m,n]  glob ตัวระบุ Glob จะอยู่ในวงเล็บเสมอที่ส่วนท้ายของรูปแบบและตัวคั่นช่วงคือเครื่องหมายจุลภาค รูปแบบ*([2,57])ขยายไปยังการแข่งขัน 2, 3, …, 57th ลำดับการขยายเริ่มต้นคือพจนานุกรม (ด้วยเวทมนตร์พิเศษบางอย่างเพื่อเรียงลำดับหมายเลขตามลำดับตัวเลขหากnumeric_glob_sortตั้งค่าตัวเลือก) คุณสามารถควบคุมมันด้วยตัวระบุคุณสมบัติoหรือOglob (เช่น*(om[2,57])จับคู่ไฟล์ล่าสุด 57 ไฟล์ยกเว้นไฟล์ล่าสุดหนึ่งไฟล์)
for x in /foo/bar/*([2,57]); do print $x; done
ไม่ใช่สิ่งที่คุณขอ แต่เกี่ยวข้องและอาจเป็นประโยชน์กับผู้อ่านในอนาคต: หากคุณต้องการแจกแจงไฟล์ 2 ถึง 57 ว่ามีอยู่หรือไม่คุณสามารถใช้นิพจน์วงเล็บปีกกาได้ คุณลักษณะนี้มีอยู่ใน bash และ ksh
echo hello{2..57}
และถ้าคุณต้องการจับคู่ไฟล์ที่มีชื่อมีตัวเลขระหว่าง 2 ถึง 57 คุณสามารถใช้รูปแบบ<2-57>ได้ นี่คือเฉพาะสำหรับ zsh
$ ls
file1 file2 file3 file57 file58
$ echo file<2-57>
file2 file3 file57
โปรดทราบว่ารูปแบบเช่น*<2-57>นั้นมีแนวโน้มที่จะไม่ทำตามที่คุณคาดไว้เพราะ*สามารถจับคู่ตัวเลขได้เช่นกัน ยกตัวอย่างเช่นfile58ตรง*<2-57>กับfile5การจับคู่*และส่วนหนึ่งของ8การจับคู่<2-57>ส่วน รูปแบบ*[^0-9]<2-57>หลีกเลี่ยงปัญหานี้