【发布时间】:2010-06-11 03:18:55
【问题描述】:
我有一个脚本正在复制一个包含几个子文件夹的文件夹。它从中复制的原始文件是 SVN 文件夹的一部分,因此它也在复制那些“.svn”文件夹。
我想从新目的地中删除那些,我的最佳猜测是:
rm -Rf dir/*.svn
哪个不起作用,有没有办法做到这一点,还是我需要手动进入每个文件夹将其删除?
【问题讨论】:
我有一个脚本正在复制一个包含几个子文件夹的文件夹。它从中复制的原始文件是 SVN 文件夹的一部分,因此它也在复制那些“.svn”文件夹。
我想从新目的地中删除那些,我的最佳猜测是:
rm -Rf dir/*.svn
哪个不起作用,有没有办法做到这一点,还是我需要手动进入每个文件夹将其删除?
【问题讨论】:
从您要过滤其内容的文件夹中:
find . -name '.svn' -print0 | xargs -0 rm -rf
或
find . -name '.svn' -exec rm -rf {} \;
【讨论】:
-print0/-0 组合是为了防止您的路径中有任何空格。)
find . -name '.svn' -o -name '_notes' -print0 | xargs -0 rm -rf 名称是 .svn 或名称是 _notes
man rsync 和--exclude= 选项。 (注意 rsync 可以用于本地到本地的副本,它没有必须是远程的)
【讨论】: