我在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
那么,这里会发生什么?