ฉันพยายามจับคู่ชื่อไฟล์สำหรับคุก fail2ban ดังนั้นฉันจึงต้องใช้ชื่อไฟล์กลม ๆ เท่านั้น - ไม่ใช่ regexes หรือ bash scripting
/var/log/apache2
ไดเรกทอรีของฉันมีไฟล์รวมถึง:
example.com.error.log
db.example.com.error.log
app1.example.com.error.log
app2.example.com.error.log
ฉันพยายามที่จะสร้าง glob เพื่อให้ตรงกับไฟล์ทั้งหมดที่ลงท้ายด้วย.error.log
ยกเว้น db.example.error.log
- นี้เป็นไปได้หรือไม่
ฉันได้พยายามแต่ยังคงตรงกับ!(db)*.error.log
db.example.com.error.log
ฉันคาดเดาว่าการ!()
จับคู่ไม่มีตัวละครทำให้การ*
จับคู่จากจุดเริ่มต้นของชื่อไฟล์
หมายเหตุ: ฉันไม่ต้องการขยาย glob เมื่อเพิ่มappX
ไฟล์บันทึกใหม่ดังนั้นฉันไม่สามารถใช้@()
กับรายการชื่อไฟล์ที่ไม่ใช่ db ที่รู้จักในปัจจุบัน
(พื้นหลัง: ฉันต้องการสร้างตัวกรองห้ามใครก็ตามที่ขอ phpMyAdmin URL ใด ๆ ในโดเมนใด ๆยกเว้น db.example.com)