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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐