替换字符串但保留文件的一部分

时间:2014-08-08 07:16:14

标签: string replace sed

我的格式文件中有字符串 wxT("AnyStringHere")

是否可以在该文件中使用sed删除wxT()并仅保留"AnyStringHere"。 请注意,双引号内的内容不断改变wxT("")。 我试图在sed中使用正则表达式,但我迷路了。即使我编写一个匹配wxT("AnyStringHere")的正则表达式,我如何保留双引号内的值。 任何想法都会非常有用。

例如,如果文件包含以下字符串,则应使用给定的字符串替换它们。

wxT("ThisIsString1") --> "ThisIsString1"
wxT("ThisIsString2") --> "ThisIsString2"

1 个答案:

答案 0 :(得分:1)

是的,你可以:

sed  's|wxT(\([^)]*\))|\1|g' file

或者

sed -r 's|wxT\(([^)]*)\)|\1|g' file

要启用内联编辑,请添加-i

sed -i 's|wxT(\([^)]*\))|\1|g' file
sed -i -r 's|wxT\(([^)]*)\)|\1|g' file

示例输入:

wxT("ThisIsString1")
wxT("ThisIsString2")

输出:

"ThisIsString1"
"ThisIsString2"