【发布时间】:2021-09-28 02:04:09
【问题描述】:
例如,
echo "hello, mon saids "I am tired", Sorry"
结果是:
hello, mon saids I am tired, Sorry
预期结果:
hello, mon saids "I am tired", Sorry
我知道我们可以使用
echo "hello, mon saids \"I am tired\", Sorry"
但我想在一个文件或多个文件中执行此操作,不能手动将 \ 插入每个“。您能提供一种使用 sed 执行此操作的方法吗?
【问题讨论】:
-
使用单引号。
-
我不建议尝试自动执行此操作。正确识别要转义的嵌套引号的正则表达式即使不是不可能,也很难正确编写。
-
你能发布一个示例文件吗?您的意思是该文件是包含
echo命令的bash 脚本吗?还是文件只有一堆字符串? -
顺便说一句,检查问题上的标签,您使用的是
powershell(即windows)还是linuxshell? -
文件有一堆字符串,里面没有回显。当我们将文件插入我们的数据库时,我们使用“”作为分隔符,如果一个字符串包含“,它将被识别为分隔符,我们希望避免这种情况。例如,“你好,mon说“我累了”,对不起”应该在一栏中,但现在,它只有你好,我在一栏中说。
标签: linux powershell shell sed