删除特定扩展名的文件unix

快速的问题,我如何recursion删除特定扩展名的文件? 我希望从项目中删除所有.svn文件夹。

rm -Rf www/ "*.svn" 

以上似乎删除了一切。 我使用FreeBSD。

谢谢

确保您对列表首先感到满意。

 find www -name '.svn' -type d -ls 

限制到目录。 SVN总是把它们命名为.svn

 find www -depth -name '.svn' -type d -exec rm -rf {} \; 

我喜欢使用xargs命令,我觉得它更直观,所以:

 find www -name '.svn' -type d -print0 | xargs -0 rm -r 

如果你想删除.svn文件夹,如果你有兴趣删除文件:

 find www -name '.svn' -type f -print0 | xargs -0 rm 

或者你可以删除一切:

 find www -name '.svn' -print0 | xargs -0 rm -r 

如果您想确定要删除的内容,请启动find命令,而不使用xargs 🙂

祝你好运!

chdir到工作目录并运行:

 find . -iname '.svn' -exec rm -fr {} \; 

或者你可以像这样指定path目录:

 find path -iname '.svn' -exec rm -fr {} \; 

通过input:

rm -Rf www/ "*.svn"

您要求删除www文件夹和每个* .svn文件。

你当然想要的是删除www文件夹中的每个* .svn,所以你应该使用:

rm -Rf www/*.svn

(没有空间)

不知道这是摆脱一个存储库的最佳方式,但这应该做你所需要的:

find www -name "*.svn" -exec rm -rfv {} \;

更新:这里是BSD的find一个很好的描述 。