หากคุณไม่ต้องการค้นหาซ้ำ 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-*\]*)/
แม้ว่าฉันจะเลือก หา
ในกรณีนี้.