หากคุณไม่ต้องการค้นหาซ้ำ bash shell ของ ภายนอก สามารถทำการปฏิเสธโดยใช้ !(ลวดลาย) อดีต.
shopt -s extglob
printf '%s\n' !(*\[tmdb-*\]*)/
เดอะ ภายนอก ตัวเลือกอาจเปิดใช้งานตามค่าเริ่มต้นใน bash shell แบบโต้ตอบของคุณ ต่อท้าย / จำเป็นเฉพาะในกรณีที่คุณต้องการแยกไฟล์ธรรมดาออกจากการจับคู่ - เทียบเท่ากับ หา คำสั่ง พิมพ์ -d.
อดีต. ได้รับไดเรกทอรีที่มีเนื้อหา
$ ล
'Zombie Flesh Eaters (1979) [อย่างอื่นที่นี่]' 'Zombieland (2009) [tmdb-19908]'
'Zombie Flesh Eaters (1979) [tmdb-7219]' 'Zombieland Double Tap (2019) [tmdb-338967]'
'ซอมบี้แลนด์ (2009)'
แล้ว
$ printf '%s\n' !(*\[tmdb-*\]*)/
Zombie Flesh Eaters (1979) [อย่างอื่นที่นี่]/
ซอมบี้แลนด์ (2009)/
หรือ
$ ls -d !(*\[tmdb-*\]*)/
'Zombie Flesh Eaters (1979) [อย่างอื่นที่นี่]/' 'Zombieland (2009)/'
ไม่เหมือน หาซึ่งจะไม่ตรงกับไดเร็กทอรีที่ซ่อนอยู่ตามค่าเริ่มต้น (แต่คุณสามารถรวมไดเร็กทอรีเหล่านั้นได้ด้วยการตั้งค่า shopt -s ดอทโกล).
ถ้าคุณ ทำ ต้องการค้นหาซ้ำ คุณสามารถเพิ่ม shopt -s โกลบอลสตาร์ และใช้ **/!(*\[tmdb-*\]*)/ แม้ว่าฉันจะเลือก หา ในกรณีนี้.