Sed正则表达式和特殊字符(\ 200)与点不匹配

时间:2013-01-08 16:49:57

标签: regex sed

我的问题是正则表达式.*似乎与特殊字符不匹配,如下所示:

\200
\201
\202
...

emacs)。

我有一个文件,在分隔符之间有一些值,如:

[a].[b]

我希望像这样显示它们:

a=b

所以我使用正则表达式:

sed 's/^\[\(.*\)\]\.\[\(.*\)\]/\1=\2/g' toto

虽然有效但[]之间的字符不是\200 sed这样的字符不起作用,就好像.*与这些字符不匹配一样。

有没有人有想法?

2 个答案:

答案 0 :(得分:2)

使用perl:

perl -pe 's,^\[([^]]+)\]\.\[([^]]+)\],$1=$2,' toto

答案 1 :(得分:1)

在Emacs中

M-x query-replace-regexp

RET

\ [\(。* \)] \。\ [\(。* \)]

RET

\ 1 = \ 2

RET