Regex sed正则表达式在solaris上失败
在Solaris 5.10下,为什么此regexp与tag=“12447”这样的行不匹配Regex sed正则表达式在solaris上失败,regex,sed,posix,solaris,Regex,Sed,Posix,Solaris,在Solaris 5.10下,为什么此regexp与tag=“12447”这样的行不匹配 (我注意到sed版本中没有实现-r)在严格的posix模式下,+符号不能用于表示某个东西的“一个或多个”。您可以改为使用{1,}的范围(当然是转义的): 请注意,您实际上并不需要--posix,我只是用它来禁用我版本的sed中的所有GNU扩展: echo 'tag="12447"' | sed "s/tag=\"[0-9]\{1,\}\"/emptytag/" emptytag 一个选项是使用gsed(关
(我注意到sed版本中没有实现-r)在严格的posix模式下,
+
符号不能用于表示某个东西的“一个或多个”。您可以改为使用{1,}
的范围(当然是转义的):
请注意,您实际上并不需要--posix
,我只是用它来禁用我版本的sed
中的所有GNU扩展:
echo 'tag="12447"' | sed "s/tag=\"[0-9]\{1,\}\"/emptytag/"
emptytag
一个选项是使用gsed(关于不支持的选项-r)
echo 'tag="12447"' | sed --posix "s/tag=\"[0-9]\{1,\}\"/emptytag/"
emptytag
echo 'tag="12447"' | sed "s/tag=\"[0-9]\{1,\}\"/emptytag/"
emptytag