为方便起见,我为svn rm工作副本中的所有已删除文件创建了一个别名:
alias svnrmall="svn status | grep '^\!' | awk '{print \$2}' | xargs svn rm"
Run Code Online (Sandbox Code Playgroud)
这很有效,除非文件名包含空格字符.
这个问题的简单解决方案似乎是awk将每个文件路径用单引号括起来,但我很难弄清楚如何做到这一点.
例如,像这样的事情(除了这会导致错误:"表达式中的"char'''):
alias svnrmall="... | awk \"{print '\$2'}\" | ..."
Run Code Online (Sandbox Code Playgroud)
Rit*_*esh 15
使用-v定义变量q并在awk中使用该变量
alias svnrmall="... | awk -v q="'" '{print q $2 q}' | ..."
Run Code Online (Sandbox Code Playgroud)