ฉันใช้ Linux, ใช้ Bash
ฉันต้องการลบไฟล์ทั้งหมดโดยไม่มีคำต่อท้ายเช่น "dist" ฉันรู้ว่ามีเทคนิคบางอย่างที่จะทำแทนที่จะลบไฟล์ที่ไม่ต้องการทั้งหมดทีละคน
ฉันใช้ Linux, ใช้ Bash
ฉันต้องการลบไฟล์ทั้งหมดโดยไม่มีคำต่อท้ายเช่น "dist" ฉันรู้ว่ามีเทคนิคบางอย่างที่จะทำแทนที่จะลบไฟล์ที่ไม่ต้องการทั้งหมดทีละคน
คำตอบ:
ใช้รายการต่อไปนี้เพื่อแสดงรายการไฟล์ทั้งหมดที่จะถูกลบ (เพื่อให้แน่ใจ):
find /path/to/directory -mindepth 1 ! -name "*dist"
เพิ่ม-type f
ถ้าคุณต้องการลบไฟล์ปกติไม่ใช่ลิงก์สัญลักษณ์หรือไดเรกทอรี
รันคำสั่งด้วย-delete
อาร์กิวเมนต์เพิ่มเติมในตอนท้ายเพื่อลบออก
หากคุณเปิดใช้งานการขยายแบบวงกลมคุณสามารถลอง:
rm !(*.dist)
หมายเหตุ: หากคุณมีไดเรกทอรีที่ไม่มีนามสกุล. ddis จะพยายามและลบออกด้วย แต่จะล้มเหลว
หากต้องการเปิดการใช้งานแบบวงกลมที่ยืดออก: shopt -s extglob