טיפ Bash - איך למחוק קבצים בלי נקודה

24/09/2019

הרבה אנשים יודעים איך למחוק מהתיקיה את כל הקבצים שיש להם סיומת, ומסתבר שהרבה פחות מכירים את הטריק הבא שימחק דווקא את אלה שאין להם.

קודם כל נוודא שה bash שלנו תומך ב extglob עם הפקודה:

$ shopt extglob
extglob         on

אם הפלט אצלכם הוא off יש להפעיל את התמיכה באמצעות:

$ shopt -s extglob

ועכשיו נזכור שהפקודה הבאה מוחקת את כל הקבצים שיש להם סיומת:

$ rm *.*

ולכן כל מה שצריך זה להוסיף סימן קריאה לפני ה glob כדי למחוק את כל הקבצים שאין להם סיומת:

$ rm !(*.*)