使用 sed 查找和替换字符串
我试图将文档中用单引号括起来的字符串替换为不带单引号的字符串。
'test' -> test
有没有办法使用 sed 我可以做到这一点?
谢谢
I am trying to replace strings in a document that enclosed in single quotes, to a string without.
'test' -> test
Is there a way using sed
I can do this?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这将从任何引用的单词周围删除单引号,并保留其他引号:
测试时:
请注意,它完好无损地保留了引号。
说明:
搜索正则表达式
'([a-zA-Z]*)'
匹配用引号和方括号括起来的任何单词(字母,无空格),它捕获其中的单词。替换正则表达式\1
指的是“group 1” - 第一个捕获的组(即搜索模式中的括号组 - 单词)仅供参考,这是测试:
This will remove single quotes from around any quoted word, and leave other quotes alone:
When tested:
Notice that it left the quote in
it's
intact.Explanation:
The search regex
'([a-zA-Z]*)'
is matching any word (letters, no spaces) surrounded by quotes and using brackets, it captures the word within. The replacement regex\1
refers to "group 1" - the first captured group (ie the bracketed group in the search pattern - the word)FYI, here's the test:
删除某些单词的单引号(示例中的文本):
removing single quotes for certain word (text in your example):
这个怎么样?
更新
由于您只想替换“test”,因此更有可能是:
How about this?
Update
As you only want to replace "test", it would more likely be: