如何使用终端递归删除所有.svn 文件夹?

如何使用终端递归删除所有.svn 文件夹?

我可以在终端中输入什么命令,以便我可以删除.svn文件夹内的所有文件夹(以及所有子目录),但不删除其他任何内容?

答案1

cd to/dir/where/you/want/to/start
find . -type d -name '.svn' -print -exec rm -rf {} \;
  • 使用 find,它执行递归
  • 在当前目录中。
  • 文件类型是目录
  • 文件名为 .svn
  • 打印出到目前为止匹配的内容(.svn 目录)
  • 执行命令rm -rf (thing found from find)。{} 是找到的实体的占位符
  • ; 告诉 find exec 命令已完成。由于 shell 也知道 ; 是什么,因此您需要使用 \ 对其进行转义,以便 shell 不会对其执行任何特殊操作,而只是传递给 find

相关内容