sed 替换引号

sed replace quotation marks

我有字符串

"Motor des regionalen Neuen Forums"

并希望将引号替换为

\q{Motor des regionalen Neuen Forums}

gloablly 在一个文件中。

我如何使用 sed 做到这一点?或者任何其他 unix 工具? 谢谢

sed -i.BACKUP "s/\"Motor\ des\ regionalen\ Neuen\ Forums\"/\q{Motor\ des\ regionalen\ Neuen\ Forums}/" yourfile

.BACKUP 部分它只是创建一个名为 yourfile.BACKUP

的备份

您可以使用以下 sed 命令:

sed 's/"\([^"]\+\)"/\q{}/g' your_file

请参阅 demo 了解此正则表达式的工作原理。 在 sed 中,您只需要转义捕获括号 ((...)) 和量词 +。转义符号应加倍以表示文字 \ 在替换模式中,使用了对与第一个捕获组匹配的文本的反向引用。