Можно ли в командной строке Linux - без запроса - рекурсивно удалять файлы (например, с помощью rm -r [path]
), но сохранять каталоги под [path]
?
РЕДАКТИРОВАТЬ: Для заинтересованных, я использовал ответ Пола ниже, чтобы построить этот удобный скрипт для использования в моих Makefiles (замените $ (DIRS) на пути, которые нужно очистить - например, каталоги bin и build):
clean:
@if [ $$(find bin -type f | wc -l) -gt 0 ]; \
then { \
echo "The following will be deleted:"; \
echo "------------------------------"; \
find $(DIRS) -type f; \
echo "------------------------------"; \
read -p "Continue (y/n)? " -n 1 -r CONTINUE; \
echo; \
}; \
else echo "No files to delete."; \
fi; \
\
if [[ $$CONTINUE =~ ^[Yy]$$ ]]; \
then find $(DIRS) -type f -delete; \
fi;