GNU sed - 使用":"作为分隔符的工作,而其他常见的字符不适用

时间:2017-06-30 08:53:03

标签: bash unix sed cygwin

我在Cygwin的Windows 10中使用GNU bash。 bash -version给了我:

GNU bash, version 4.3.46(7)-release (x86_64-unknown-cygwin)

现在,我想使用sed来处理一些文件。在测试时,我发现了一些奇怪的东西:我的表达虽然完全有效,但只有在分隔符为:时才有效。当分隔符为/_,时,它会给我带来意想不到的结果。

例如,我想摆脱此字符串中的<><Autorizado>

当我使用时:

echo "<Autorizado>" | sed -r 's:<([a-zA-Z]+)>:\1:'

我明白了:

Autorizado

但是,当我将:更改为/_,时,结果为:

1

我按照教程:http://www.grymoire.com/Unix/Sed.html

那么,这里会发生什么?

0 个答案:

没有答案