我似乎记得 sed 的-E标志以启用扩展正则表达式,然后查看今天的手册页,我发现它不存在,但是
echo development.properties | sed -E 's/(development.|staging.|qa.|production.)//'
特性
echo development.properties | sed 's/(development.|staging.|qa.|production.)//'
development.properties
echo development.properties | sed -r 's/(development.|staging.|qa.|production.)//'
特性
所以在我看来-E正在做某事,而且我敢说它现在是-r的别名,至少我认为-E是用于(扩展正则表达式)的。它在某个时候改变了吗?看起来它可能仍然支持向后兼容性,或者没有?
此外,听起来 sed 中的扩展正则表达式与括号内的管道字符之类的范围无关,那么为什么没有这些标志(-E,-r)中的任何一个都不能进行替换?