Ruby:如何在正则表达式中匹配双引号
我正在尝试使用 Ruby one liner 从文本文件中删除一些双引号 (") 字符,但收效甚微。
我尝试了以下操作和一些变体,但没有成功。
ruby -pe 'gsub(/\"/,"")' < myfile.txt
这给了我以下错误:
-e:1: Invalid argument - < (Errno::EINVAL)
我正在运行 Ruby在 Win 计算机上:
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
有什么想法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
看起来像 cmd 引用地狱——请注意,单引号在 cmd shell 中是没有意义的。
但这可能更好:
Looks like cmd quoting hell -- note that single quotes are meaningless in the cmd shell.
but this is probably better:
怎么样:
How about:
听起来问题出在外壳上。
您的错误消息来自 Ruby,因此 Ruby 似乎正在接收
<
作为参数。这意味着 shell 不执行任何重定向。我手头没有 Windows 机器,所以我会先仔细检查一下您是否正确地进行了重定向。第一次检查时,我认为
< myfile.txt
应该是Sounds like the problem is with the shell.
Your error message is from Ruby, so it seems Ruby is receiving the
<
as an argument. This means the shell isn't doing any redirection.I don't have a Windows machine handy so I'd double check that you're getting the redirection right first. On first inspection I think the
< myfile.txt
should be<myfile.txt