我的格式文件中有字符串
wxT("AnyStringHere")
。
是否可以在该文件中使用sed
删除wxT()
并仅保留"AnyStringHere"
。
请注意,双引号内的内容不断改变wxT("")。
我试图在sed中使用正则表达式,但我迷路了。即使我编写一个匹配wxT("AnyStringHere")
的正则表达式,我如何保留双引号内的值。
任何想法都会非常有用。
例如,如果文件包含以下字符串,则应使用给定的字符串替换它们。
wxT("ThisIsString1") --> "ThisIsString1"
wxT("ThisIsString2") --> "ThisIsString2"
答案 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"