من Shell: حذف جميع الملفات مع الباستروفيات
-
19-09-2019 - |
سؤال
كيف يمكنني حذف جميع الملفات في مجلد يحتوي على علامة اقتباس أحادية؟
علي سبيل المثال:
BAIRD / 's tunnel.jpg
bach / 's birds.jpg
هذا isn // 't good.png
أرغب في حذف كل تلك الملفات ولكن أي شيء لا يحتوي على علامة اقتباس أحادية يظل سليما مثل:
هذه هي good.jpg donotdelete.png
المحلول
في ش يمكنك القيام به
rm *\'*
نصائح أخرى
يمكنك استعمال ال find
أمر:
find . -name "*'*" -delete
كما أشار Bryan في تعليقه، ستحذف هذا الملفات في الدليل الحالي وجميع الدلائل الفرعية. وبعد إذا كنت لا تريد أن تنزل الدلائل استخدام:
find . -name "*'*" -maxdepth 1 -delete
مما يجعل find
البقاء في الدليل الحالي.
gnu find.
find /path/ -type f -name "*[']*" -exec rm {} +;
لا تنتمي إلى StackOverflow