AWK分析IP地址要求不满100需要补0

今天在群里有个人提了一个需求,他需要截取本地ip地址的字段,另外不满3位数的要求前面补0

即可:  192.168.99.12—————-》 192 168 099 012

使用AWK 实现如下:ifconfig eth0|grep ‘inet addr’|awk -F ‘[ :]‘ ‘{print $13}’|awk -F. ‘{for(i=1;i<=NF;i++)if($i<100) $i=(“0″$i);print $0}’    

IP地址也可以使用sed截取如下(个人感觉awk更加精简):/sbin/ifconfig eth0 | grep ‘inet addr’ | sed ‘s/^.*addr://g’ | sed ‘s/Bcast.*$//g’ |awk -F. ‘{for(i=1;i<=NF;i++)if($i<100) $i=(“0″$i);print $0}’

另外想了一下也可以在awk中这样实现 len($i)<3, 使用len()这个函数实现。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>