使用命令行帮助获取 perl 正则表达式
我有正则表达式:
echo "(1508,'2011-02-28','pc','postroll','ai-postroll','HT','','',16),(1508,'2011-02-28','pc','postroll','ai-postroll','MU','','',11),(1508," | perl -pe "s|,(\d+)\)|,'',($1)\)|g"
我试图用额外的值替换右括号之前的数字。
因此 '',16) 将替换为 ,'',''16) 。
我发现 1 美元没有被替换的问题。请让我知道我做错了什么。
提前致谢
I have regex expression:
echo "(1508,'2011-02-28','pc','postroll','ai-postroll','HT','','',16),(1508,'2011-02-28','pc','postroll','ai-postroll','MU','','',11),(1508," | perl -pe "s|,(\d+)\)|,'',($1)\)|g"
I am trying to replace the number before closing parenthesis with an extra value.
So '',16) would be replaced by ,'',''16) .
I am finding issue that $1 is not getting replaced.Please let me know what is that I am doing wrong.
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于您使用了双引号,bash 将尝试用一个值替换 $1。尝试将其替换为 \$1。
Since you used double-quotes, bash will try to substitute a value for $1. Try replacing it with \$1.