Используйте find
. То, что вы хотите, это:
find . -type f -executable -exec rm '{}' \;
Удаление всего без расширения также можно сделать:
find . -type f -not -iname "*.*" -exec rm '{}' \;
Первый вариант не удаляет Makefile
, и поэтому предпочтителен. Я думаю, что ответ kcwu показывает хороший способ улучшить вышесказанное с помощью опции -delete
:
find . -type f -executable -delete
find . -type f -not -iname "*.*" -delete
Редактировать : я использую GNU findutils find
, версия 4.4.0, под Ubuntu 8.10. Я не знал, что переключатель -executable
настолько необычен.