svn st | grep '^?' | sed -n 's/^?[ \t]*//p' | xargs rm -rf
或者是:
svn st | grep '^?' | awk '{print $2}' | xargs rm -rf
说明:
1、svn st 输出当前工作状态的文件,如果是未纳入版本控制的,行首会用字符”?”标识;
2、grep 在这是查找出“?”开头的行;
3、sed或者awk命令在这是去除开头的“?”及其后的空字符,只留下文件名;
4、xargs提取出参数,即文件名,调用rm -rf命令强制删除
补充一种不用sed及awk的方法:
svn st | grep '^?' | grep -o '[^ ]\*$' | xargs rm -rf
说明:
grep -o 只输出匹配到的数据
[^? ]* 跳过?及任意空格, 如果要输入TAB,grep不支持\t, 可以先输出:CTRL+V 然后直接敲击键盘TAB键即可。
本文介绍了一种使用shell命令来查找并删除Subversion (SVN) 工作副本中未被版本控制的文件的方法。通过组合使用`svn st`、`grep`、`sed`、`awk`和`xargs`等命令,可以有效地清理这些不需要的文件。
592

被折叠的 条评论
为什么被折叠?



