sed -nr 's/.*inet (addr:)?(([0-9]*.){3}[0-9]*).*/\2/p'
求大神解释下这句
这正则没看太懂,.* 这是指n个 . 吗 ? \2这是将前边替换成2?
求说明下全句
这句是用来找出ip中的一部分
/sbin/ifconfig $(/sbin/ifconfig|grep eth|awk '{print $1}'|sed -n '1p')| sed -nr 's/.*inet (addr:)?(([0-9]*.){3}[0-9]*).*/\2/p'
sed之前明白,之后的不懂,求教
\2是正则表达式中的分组捕获,也就是用第二个分组进行替换
.*是先匹配inet前面的任意多个字符
看下面这张图来解析那个正则表达式就清楚一点了。