方法1:awk使用两遍

1
2
[root@oldboy ~]# ifconfig eth 0 |awk  'NR==2 {print $2}' |awk -F  ":"  '{print $2}'
10.0 . 0.5

方法2:hostname命令

1
2
[root@oldboy ~]# hostname -I
10.0 . 0.5

方法3:cut命令

1
2
[root@oldboy ~]# ifconfig eth 0 |grep  'inet addr' |cut -d  ":"  -f 2 |cut -d  " "  -f 1
10.0 . 0.5

方法4:sed命令

1
2
[root@oldboy ~]# ifconfig eth 0 |sed -n  '2p' |sed  's#^.*addr:##g' |sed  's#  B.*$##g'
10.0 . 0.5

方法5:awk多分割符

1
2
3
4
5
6
7
8
[root@oldboy ~]# ifconfig eth 0 |awk  "NR==2" |awk -F  '[ :]'  '{print $13}'
10.0 . 0.5
 
[root@oldboy ~]# ifconfig eth 0 |sed -n  '2p' |awk -F  '[ :]+'  '{print $4}'
10.0 . 0.5
 
[root@oldboy ~]# ifconfig eth 0  |awk -F '[ :]+'  'NR==2 {print $4}'
10.0 . 0.5

方法6:sed(正则)

1
2
[root@oldboy ~]# ifconfig eth 0 |sed -nr  '2s#^.*dr:(.*) B.*$#\1#gp'
10.0 . 0.5

本文转自 sunrisenan 51CTO博客,原文链接:http://blog.51cto.com/sunrisenan/1944847