Если Вы можете, Вы можете от курса сначала удалять все .svn
папки. Оборотная сторона: Вы потеряете информацию об управлении версиями, если кто-то будет использовать SVN. Если кто-то использует SVN, то это не хорошая идея просто удалить те папки (или на самом деле необходимо удалить тех, которые от SVN также, поскольку SVN отслеживает папки и файлы).
Если бы это не возможно, я пошел бы со сценариями маршрута:
for folder in $(find . -type d); do
if [ "`ls $folder | wc -l`" -eq 0 ]; then
echo "I am going to delete $folder"
fi
done
Сначала попробуйте тестовый прогон, потому что могло бы быть что-то удивление. Затем можно измениться rm -r
вместо этого echo
.
Отметьте однако, это удалит все папки только с точечными файлами (так, например, a/.this_is_super_important
будет удален, если не будет никаких других файлов или папок).
Я просто наткнулся на это, и я использовал этот сценарий, но изменил его для надлежащего рассмотрения пустых директоров только теми с .svn и никаким другим файлом, скрытым или нормальным.
Кроме того, примите во внимание, что я использую svn комнату, таким образом, это, предполагают для работы против репозитория, Вы могли адаптировать сценарий, чтобы сделать что-то другое на каталоге.
for folder in $(find -type d ! -path *.svn*); do
if [ "`find $folder ! -path *.svn* ! -path $folder | wc -l`" -eq 0 ]; then
svn rm $folder
fi
done