Какую команду я могу ввести в Терминал, чтобы я мог удалить все папки .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 выполнена. Поскольку оболочка также имеет представление о том, что; вы должны экранировать его с помощью \, чтобы оболочка не сделала с ним ничего особенного, а просто прошла, чтобы найти