Какую команду я могу ввести в Терминал, чтобы я мог удалить все папки .svn внутри папки (и из всех подкаталогов), но не удалить ничего другого? 
52
 1 ответ
117
cd to/dir/where/you/want/to/start
find . -type d -name '.svn' -print -exec rm -rf {} \;
- Используйте find, которая делает рекурсию
 - в текущем каталоге.
 - Тип файла является каталогом
 - имя файла .svn
 - выведите то, что соответствует этому моменту (.svn dirs)
 - выполните команду 
rm -rf (thing found from find). {} является заполнителем для найденной сущности - ; говорит найти, что команда для exec выполнена. Поскольку оболочка также имеет представление о том, что; вы должны экранировать его с помощью \, чтобы оболочка не сделала с ним ничего особенного, а просто прошла, чтобы найти
 
