วันนี้เรามาดูคำสั่งของ Linux สำหรับใช้ในกรณีที่เราต้องการลบไฟล์หรือโฟลเดอร์ที่มีอยู่เกือบทั้งหมดไป แต่ให้เหลือไว้เฉพาะไฟล์ 1 ไฟล์ที่ต้องการกันครับ

ตัวอย่างตามในรูปนี้

Downloads

สิ่งที่เราต้องการก็คือลบทุกอย่าง แต่ให้เก็บโฟลเดอร์ชื่อ last ไว้

คำสั่งที่ใช้จะมี 2 คำสั่งด้วยกันคือ

$ shopt -s extglob
$ rm -- !(last)

สำหรับคำสั่งแรก shopt ตามด้วย -s จะเป็นการ enable ค่า extglob - ดูรายละเอียดของ shopt และ extglob ได้ที่นี่

พอเราเอามาใช้ร่วมกับคำสั่ง rm ที่ตามมานั่นก็คือ ลบทุกอย่างแต่ไม่ลบที่อยู่ใน !(pattern-list) - ในที่นี้ก็คือไม่ลบโฟลเดอร์ชื่อ last นั่นเอง