删除特定扩展名的文件 unix

删除特定扩展名的文件 unix

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

rm -Rf www/ "*.svn"

上面的命令似乎删除了所有内容。我使用的是 FreeBSD。

谢谢

答案1

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

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

限制于目录。SVN 总是命名它们.svn

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

答案2

我喜欢使用 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

如果您想确定要删除什么,请启动不带 xargs 的 find 命令:-)

祝你好运!

答案3

chdir 到工作目录并运行:


find . -iname '.svn' -exec rm -fr {} \;
或者您可以像这样指定路径目录:


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

答案4

不确定这是否是摆脱存储库的最佳方法,但这应该可以满足您的需要:

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

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

相关内容