ฉันพยายามจับคู่ชื่อไฟล์สำหรับคุก 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)