如何在 awk print 语句中的参数周围添加单引号?
为了方便起见,我为工作副本中的所有已删除文件创建了一个别名:svn rm
:
alias svnrmall="svn status | grep '^\!' | awk '{print \$2}' | xargs svn rm"
这非常有效,除非文件名包含空格字符。
解决该问题的一个简单方法似乎是让 awk
将每个文件路径用单引号引起来,但我很难弄清楚如何做到这一点。
例如,类似这样的东西(除了这会导致错误:“表达式中的无效字符'''”):
alias svnrmall="... | awk \"{print '\$2'}\" | ..."
For convenience, I've created an alias to svn rm
all deleted files in my working copy:
alias svnrmall="svn status | grep '^\!' | awk '{print \$2}' | xargs svn rm"
This works quite well, except when the filename contains a space character.
An easy solution to the problem seems to be to have awk
enclose each file path in single quotes, but I'm having difficulty figuring out how to do that.
E.g., something like this (except this results in an error: "invalid char ''' in expression"):
alias svnrmall="... | awk \"{print '\$2'}\" | ..."
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 -v 定义变量 q 并在 awk 中使用该变量
Use -v to define variable
q
and use that variable in awk