在Subversion签出目录和所有子目录中,删除未列出的文件
Hujiuxiang
・1 分钟阅读
$ svn st | grep ^? | sed -e 's/^? *//' | xargs -i{} echo rm -fr "{}"
说明
如果文件名中没有空格,那么一个简单的命令就足够了,即使文件名中有空格和某些特殊字符,这个也有效。
svn st
显示Subversion签出中的更改| grep ^?
只匹配以问号开头的行(=unversioned的文件)| sed -e 's/^? *//'
删除行开头的问号和后面的空格字符| xargs -i{} echo rm -fr"{}"
为输入中的每一行执行echo命令,其中通过将输入行插入到{}占位符中来生成命令,确认结果效果良好,并删除echo以执行rm ,
限制
命令在名称中有"(双引号)的文件时无法使用。