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键即可。