【发布时间】:2018-10-01 15:10:49
【问题描述】:
我想在双引号之间找到单引号 ' 并使用 sed 命令将其替换为(反斜杠单引号)\' '。
输入 = 'gender':"Men's",'colour':'Red','name':"Men's levi's"
输出 = 'gender':"Men\' 's",'colour':'Red','name':"Men\' 's levi\' 's"
我试过这个,我可以用管道替换逗号,但是当尝试用 \' ' 替换单引号时它不起作用:
sed 's/(\"[^"\'']\{1,\}),([^"\'']\{1,\}\")/\1 | \2/g' test.csv
【问题讨论】:
-
你介意展示你的努力吗?
-
@revo 我试过这个,我可以用管道替换逗号,但是当尝试用 \' ' 替换单引号时它不起作用 sed 's/(\"[^"\''] \{1,\}),([^"\'']\{1,\}\")/\1 | \2/g' test.csv ...我是 sed 的新手,所以我真的不知道如何以正确的方式进行操作
-
我已经回答了您的问题,希望对您有所帮助。老实说,你的问题标题有点含糊,但我这么说只是为了帮助避免那些可怕的“反对票”,如果这对你很重要的话。祝你好运!还有另一个 Stack 社区,称为 Unix 和 Linux。您的问题可能更适合那里?
-
将
awk添加到标签不是一个好主意,因为OP 明确表示sed无处不在。