sed windows - 用花括号找到并替换

时间:2014-02-11 20:16:41

标签: regex windows sed

我想替换任何

...
title = {{ some text }}
...

...
title = { some text }
...

实际上,我想将双花括号替换为一个(在Windows 7中)。

我上来唱歌sed但显然在Windows中sed无法正常工作。 这是一个简单的测试,显示了问题。 我想替换双花括号{{with one {。 这就是我要做的事情:

sed "s/{{/{/g" file.txt

但是我收到此错误

sed: 1: "s/": unterminated substitute pattern

我已经看过这个,但显然它在Windows操作系统中不起作用: sed find and replace with curly braces

知道怎么做吗?

3 个答案:

答案 0 :(得分:2)

尝试逃避它们:

sed "s/\{\{/{/g" file.txt

答案 1 :(得分:0)

用?

sed "s/\(\([{}]\)\2\)/\2/g"

避免模式和关联解释中的多个{和}。 (立即为{和}工作)

答案 2 :(得分:0)

您使用的是什么sed版本,是sed in CYGWIN还是sed for Windows。在cygwin中运行命令sed "s/{{/{/g" file.txt没问题。

如果您从Windows版本sed for windows运行sed,它似乎不适用于{。试试CYGWIN。