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