С bash:
shopt -s globstar ## Enables recursive globbing
for f in FOLDER/**/*; do [[ -f $f ]] && echo rm -- "$f"; done
Здесь выполняется итерация по glob расширенным именам файлов и удалению только файлов.
Вышеупомянутое выполняется в сухом режиме, если выполняется с изменениями (d3)
for f in FOLDER/**/*; do [[ -f $f ]] && rm -- "$f"; done
Наконец, unset globstar:
shopt -u globstar
С zsh , используя квалификатор glob:
echo -- FOLDER/**/*(.)
(.) является квалификатором glob, который ограничивает разворот glob только обычными файлами.
Вышеуказанное будет просто печатать имена файлов, для фактических удаление:
rm -- FOLDER/**/*(.)
Если ваша версия find не поддерживает -delete, вы можете использовать следующее, чтобы удалить каждый файл в текущем каталоге и ниже.
find . ! -type d -exec rm '{}' \;