Chinaunix首页 | 论坛 | 博客
  • 博客访问: 49798
  • 博文数量: 20
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 220
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-06 10:28
个人简介

原创文章,转载请注明出处,谢谢。

我的朋友

分类: LINUX

2014-04-02 15:43:34

今天在群里有个人提了一个需求,他需要截取本地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()这个函数实现。
阅读(1436) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~