请看代码,^3 the 是正则表达式,表示以3 the为开头的内容,sed后面加不加-r,结果都一样,为什么不加-r,也能正确解析正则表达式^3 the ?
[root@localhost home]# echo "3 the hahaha" |sed -n "/^3 the/c\123456"
123456
[root@localhost home]# echo "3 the hahaha" |sed -n -r "/^3 the/c\123456"
123456
请看代码,^3 the 是正则表达式,表示以3 the为开头的内容,sed后面加不加-r,结果都一样,为什么不加-r,也能正确解析正则表达式^3 the
请看代码,^3 the 是正则表达式,表示以3 the为开头的内容,sed后面加不加-r,结果都一样,为什么不加-r,也能正确解析正则表达式^3 the
在sed中,该-r选项用于指定应使用扩展的正则表达式。符号是正则表达式中的^特殊字符,用于匹配一行的开头。
在这种情况下,无论是否使用该选项,该sed命令都可以正常工作,因为正则表达式不需要任何扩展的正则表达式语法。它只需要基本的正则表达式语法,默认支持。-r^3 thesed
因此,即使不指定该-r选项,该sed命令仍然能够正确解析正则表达式^3 the并执行请求的操作。
-r :sed 的动作支持的是延伸型正则表示法的语法 ^(.)$ 。(预设是基础正则表示法语法 ^\(.)$)
-r 指定后面的规则可以使用正则表达式的方式进行匹配
这个其实是简化正则的一种啊,
sed不加-r参数也能正确解析正则表达式^3 the,这是因为sed默认使用简化的正则表达式,
而^3 the 是简化正则表达式的一种,所以无需加-r参数也能正确解析。