linux过滤ip地址
一、系统版本
[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地址的更多相关文章
- 解决redhat linux下IP地址可以ping通,域名无法ping通问题
解决redhat linux下IP地址可以ping通,域名无法ping通 在/etc/resolv.conf中添点东西 格式如下: nameserver xxx.xxx.xxx.xxx nameser ...
- linux 查看ip地址
1.先要打开linux服务器,然后在linux桌面的空白处点击右键 2.在弹出的选项里,点击[打开终端] 3.打开linux服务器的命令终端后,输入查询linux的ip地址的命令:ifconfig - ...
- Linux下ip地址查询
[时间:2016-12] [状态:Open] [关键词:linux,ip地址,ifconfig,ip addr] 0 引用 说起来比较搞笑,我在windows下知道可以使用ipconfig命令查询本机 ...
- 从ip addr add和ifconfig的区别看linux网卡ip地址的结构
今天一个老外在邮件列表上问了一个问题,就是ip addr add和ifconfig的区别,我给他进行了解答,可能因为英语不好吧,解答的很简单,因此我还是要在这里详细说明一下.其实它们之间没有什么区别, ...
- Java 获取Linux 的IP地址
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...
- Linux学习(一):linux更改ip地址命令_更改DNS_更改默认网关_更改子网掩码_主机名
如何使用命令来更改linux的IP .DNS .子网掩码,在虚拟机(vitrualBox)上添加一个Linux的虚拟机; 安装方法:http://pan.baidu.com/s/1sjJPhP7 安装 ...
- 我只想要Linux的IP地址
大家都知道ifconfig 可以查看centos的ip地址,但是我如果只要ip地址该怎么办呢?首先上ifconfig [root@centos ~]# ifconfig eth0 eth0 Link ...
- 问题1——之Linux虚拟机ip地址消失
原文转自 https://blog.csdn.net/keep_walk/article/details/75115926 以前一直通过ifconfig命令查看ip地址,但是今天用XShell连接自己 ...
- Linux 设置IP地址,并能连接外网
1,如果是 centos6,请修改 vi /etc/sysconfig/network-scripts/ifcfg-eth0 2,如果是 centos7,请修改 => vi /etc/sysc ...
随机推荐
- Linux make命令详解
在linux环境下的工作,免不了需要经常编译C/C++源代码,所以make命令是我们经常都会用到的.当然make工具不一定针对C代码,它也可以维护其他各种代码,详见:man make 在列举其详 ...
- Codeforces Round #475 Div. 2 A B C D
A - Splits 题意 将一个正整数拆分成若干个正整数的和,从大到小排下来,与第一个数字相同的数字的个数为这个拆分的权重. 问\(n\)的所有拆分的不同权重可能个数. 思路 全拆成1,然后每次将2 ...
- win7中下载和安装redis
下载地址:https://github.com/MicrosoftArchive/redis/releases 这里我下载的是3.2.100版本,下载zip,然后解压.解压后如图所示: 开启redis ...
- 【bzoj4094】【洛谷3097】Optimal Milking
假的,假的,都是假的. 题意是最大点独立集还要算贡献,写个网络流岂不是GG? 其实这个也就是奇偶不能选而已……所以无外乎这么四种情况: 左开右闭 左闭右开 都闭 都开 线段树按照套路维护一下就好了. ...
- JSOI2016酱油记
高一,第一次参加NOIP. 后悔初中没有报过名...唉,后悔也来不及了. 不知道自己一个暑假干了什么...算法没学多少,脑子倒是越来越不好使了. 过了初赛,数周后一脸茫(meng)然(bi)地去考场. ...
- python ajax post 数据
简单的html <div> <input type="submit" id="tes" value="tes"> & ...
- 【cocos2d-js官方文档】九、cc.loader
概述 原来的cc.Loader被改造为一个单例cc.loader,采用了插件机制设计,让loader做更纯粹的事. 各种资源类型的loader可以在外部注册进来,而不是直接将所有的代码杂揉在cc.Lo ...
- 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均为正整 ...
- python操作数据库的几种方式
参照python 操作mysql python-mysqldb : http://www.cnblogs.com/wupeiqi/articles/5095821.html (python3 不支持) ...
- selenium grid 环境搭建
一.selenium grid简介 selenium grid可以同时在不同机器上测试不同浏览器,包含一个hub和多个node.node会发送配置信息到hub,hub记录并跟踪每一个node的配置信息 ...