Bash GNU sed-使用“使用”:&引用;as分隔符起作用,而其他常用字符不';T
我正在使用Cygwin的Windows10中的GNUBash<代码>bash-版本为我提供:Bash GNU sed-使用“使用”:&引用;as分隔符起作用,而其他常用字符不';T,bash,unix,sed,cygwin,Bash,Unix,Sed,Cygwin,我正在使用Cygwin的Windows10中的GNUBashbash-版本为我提供: GNU bash, version 4.3.46(7)-release (x86_64-unknown-cygwin) 现在,我想使用sed来处理一些文件。在测试过程中,我发现了一些奇怪的东西:我的表达式虽然完全有效,但仅当分隔符为:时才起作用。当分隔符为/或或,时,它会给我意外的结果 例如,我想去掉这个字符串中的: 那么,这里发生了什么?了解您的sed版本会更有用-无论如何,我无法在sed(GNU sed)
GNU bash, version 4.3.46(7)-release (x86_64-unknown-cygwin)
现在,我想使用sed
来处理一些文件。在测试过程中,我发现了一些奇怪的东西:我的表达式虽然完全有效,但仅当分隔符为:
时才起作用。当分隔符为/
或
或,
时,它会给我意外的结果
例如,我想去掉这个字符串中的
:
那么,这里发生了什么?了解您的sed版本会更有用-无论如何,我无法在sed(GNU sed)4.2.2
上复制。我检查了中的sed
,发现了两个条目,第一个不是cygwin
使用的。相反,它是C:\ProgramFiles(x86)\BMC Software\BladeLogic\8.1\NSH\bin\sed.exe
。让我再检查一遍。sed--version
应该告诉你,但我猜这是GNU-sed的一个版本。删除第一个从无到有的条目会使我的cmd
无法找到二进制文件,但是sed--version
和sed
可以在哪里找到它。真奇怪。重新启动时间到了…您能粘贴返回1
的确切命令行吗?
echo "<Autorizado>" | sed -r 's:<([a-zA-Z]+)>:\1:'
Autorizado
1