gpt4 book ai didi

linux - 使用 sed 查找和替换字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:25:11 27 4
gpt4 key购买 nike

我正在尝试将文档中用单引号引起来的字符串替换为不带引号的字符串。

'test' -> test

有没有办法使用 sed 我可以做到这一点?

谢谢

最佳答案

这将从周围任何引用的单词中删除单引号,并单独保留其他引号:

sed -E "s/'([a-zA-Z]*)'/\1/g" 

测试时:

foo 'bar' it's 'OK' --> foo bar it's OK

请注意,它在 its 中完整地保留了引号。

解释:

搜索正则表达式 '([a-zA-Z]*)' 匹配任何被引号包围的单词(字母,无空格)并使用方括号,它捕获其中的单词。替换正则表达式 \1 指的是“组 1”——第一个捕获的组(即搜索模式中括号中的组——单词)

仅供引用,这是测试:

echo "foo 'bar' it's 'OK'" | sed -E "s/'([a-zA-Z]*)'/\1/g"

关于linux - 使用 sed 查找和替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7610085/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com