一、系统版本

[root@zabbix-server tmp]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

二、用awk过滤取出ip地址

[root@zabbix-server ~]# ifconfig enp2s0f0|awk NR==2
inet 10.0.100.208 netmask 255.255.255.0 broadcast 10.0.100.255 [root@zabbix-server tmp]# ifconfig enp2s0f0|awk -F '[ :]+' 'NR==2 {print $3}'
10.0.100.208

三、用awk过滤取出ip地址 (Centos6.6版本)

方法一:

[root@oldboy ~]# ifconfig eth0|grep 'inet addr'|awk -F ":" '{print $2}'|awk '{print $1}'
10.0.0.162

方法二:通过awk同时使用多个分隔符来实现

[root@oldboy ~]# ifconfig eth0|grep 'inet addr'|awk -F '[ :]' '{print $13}'
192.168.1.186

方法三:通过awk同时使用多个分隔符,然后通过正则匹配多个分隔符的方法来实现

[root@oldboy ~]# ifconfig eth0 |awk -F '[ :]+' 'NR==2 {print $4}'
10.0.0.185

我们来说明下这个简单易用的好办法:

提示:本题NR是行号,分隔符+号匹配,[]里一个或多个任意一个分隔符,这里就是匹配一个或多个冒号或空格。

1)awk -F 后面跟分隔符‘[空格:]+’,其中[空格:]多分隔符写法,意思是以空格或冒号做分隔,后面的"+"号是正则表达式,意思是匹配前面空格或冒号,两者之一的1个或1个以上。

2)NR==2和sed -n "2p",相当,意思都是选择第几行,例:

[root@oldboy ~]# ifconfig eth0|awk NR==2

inet addr:10.0.0.185  Bcast:10.0.0.255  Mask:255.255.255.0

3)指定awk -F '[ :]+'分隔符后,不同字符串被分隔的列依次为:

inet

addr

10.0.0.185

Bcast:10.0.0.255  Mask:255.255.255.0

第一列

第二列

第三列

第四列

后面忽略不计。

4)整个答案awk部分意思是,通过NR==2取出第二行,然后,通过-F '[-:]+多分隔符正则匹配,然后通过{print $4}打印出第四列 !

5)掌握了理论要去实践验证才是科学严谨的学习态度。

[root@oldboy ~]# echo ---1:----2|awk -F '[-:]+' '{print $2}'     

1

[root@oldboy ~]# echo ---1:----2|awk -F '[-:]+' '{print $3}'     

2

[root@oldboy ~]# echo ---1:::::2|awk -F '[-:]+' '{print $3}'    

2

linux过滤ip地址的更多相关文章

  1. 解决redhat linux下IP地址可以ping通,域名无法ping通问题

    解决redhat linux下IP地址可以ping通,域名无法ping通 在/etc/resolv.conf中添点东西 格式如下: nameserver xxx.xxx.xxx.xxx nameser ...

  2. linux 查看ip地址

    1.先要打开linux服务器,然后在linux桌面的空白处点击右键 2.在弹出的选项里,点击[打开终端] 3.打开linux服务器的命令终端后,输入查询linux的ip地址的命令:ifconfig - ...

  3. Linux下ip地址查询

    [时间:2016-12] [状态:Open] [关键词:linux,ip地址,ifconfig,ip addr] 0 引用 说起来比较搞笑,我在windows下知道可以使用ipconfig命令查询本机 ...

  4. 从ip addr add和ifconfig的区别看linux网卡ip地址的结构

    今天一个老外在邮件列表上问了一个问题,就是ip addr add和ifconfig的区别,我给他进行了解答,可能因为英语不好吧,解答的很简单,因此我还是要在这里详细说明一下.其实它们之间没有什么区别, ...

  5. Java 获取Linux 的IP地址

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  6. Linux学习(一):linux更改ip地址命令_更改DNS_更改默认网关_更改子网掩码_主机名

    如何使用命令来更改linux的IP .DNS .子网掩码,在虚拟机(vitrualBox)上添加一个Linux的虚拟机; 安装方法:http://pan.baidu.com/s/1sjJPhP7 安装 ...

  7. 我只想要Linux的IP地址

    大家都知道ifconfig 可以查看centos的ip地址,但是我如果只要ip地址该怎么办呢?首先上ifconfig [root@centos ~]# ifconfig eth0 eth0 Link ...

  8. 问题1——之Linux虚拟机ip地址消失

    原文转自 https://blog.csdn.net/keep_walk/article/details/75115926 以前一直通过ifconfig命令查看ip地址,但是今天用XShell连接自己 ...

  9. Linux 设置IP地址,并能连接外网

    1,如果是 centos6,请修改  vi /etc/sysconfig/network-scripts/ifcfg-eth0 2,如果是 centos7,请修改 => vi /etc/sysc ...

随机推荐

  1. Linux make命令详解

    在linux环境下的工作,免不了需要经常编译C/C++源代码,所以make命令是我们经常都会用到的.当然make工具不一定针对C代码,它也可以维护其他各种代码,详见:man make    在列举其详 ...

  2. Codeforces Round #475 Div. 2 A B C D

    A - Splits 题意 将一个正整数拆分成若干个正整数的和,从大到小排下来,与第一个数字相同的数字的个数为这个拆分的权重. 问\(n\)的所有拆分的不同权重可能个数. 思路 全拆成1,然后每次将2 ...

  3. win7中下载和安装redis

    下载地址:https://github.com/MicrosoftArchive/redis/releases 这里我下载的是3.2.100版本,下载zip,然后解压.解压后如图所示: 开启redis ...

  4. 【bzoj4094】【洛谷3097】Optimal Milking

    假的,假的,都是假的. 题意是最大点独立集还要算贡献,写个网络流岂不是GG? 其实这个也就是奇偶不能选而已……所以无外乎这么四种情况: 左开右闭 左闭右开 都闭 都开 线段树按照套路维护一下就好了. ...

  5. JSOI2016酱油记

    高一,第一次参加NOIP. 后悔初中没有报过名...唉,后悔也来不及了. 不知道自己一个暑假干了什么...算法没学多少,脑子倒是越来越不好使了. 过了初赛,数周后一脸茫(meng)然(bi)地去考场. ...

  6. python ajax post 数据

    简单的html <div> <input type="submit" id="tes" value="tes"> & ...

  7. 【cocos2d-js官方文档】九、cc.loader

    概述 原来的cc.Loader被改造为一个单例cc.loader,采用了插件机制设计,让loader做更纯粹的事. 各种资源类型的loader可以在外部注册进来,而不是直接将所有的代码杂揉在cc.Lo ...

  8. F - 等式(1/x + 1/y = 1/n)

    链接:https://www.nowcoder.com/acm/contest/90/F来源:牛客网 题目描述 给定n,求1/x + 1/y = 1/n (x<=y)的解数.(x.y.n均为正整 ...

  9. python操作数据库的几种方式

    参照python 操作mysql python-mysqldb : http://www.cnblogs.com/wupeiqi/articles/5095821.html (python3 不支持) ...

  10. selenium grid 环境搭建

    一.selenium grid简介 selenium grid可以同时在不同机器上测试不同浏览器,包含一个hub和多个node.node会发送配置信息到hub,hub记录并跟踪每一个node的配置信息 ...