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 ...
随机推荐
- 曹政:CTO这点事
几乎整个互联网行业都缺 CTO,特别是一些草根背景的创业者,这个问题更加显著.从我自己的感受,身边各种朋友委托我找 CTO 的需求,嗯,算下来超过两位数了,光最近一个月就有 3 个,而且这三家都是刚拿 ...
- Oralce聚合多行
拼接的字符串长度满足varchar2(4000)时, 可以用 LISTAGG(NAME, '_') WITHIN GROUP(ORDER BY LEVEL_T DESC) 当拼接大段文本时,采用 10 ...
- HDU 2567 寻梦(字符串,插入)
#include<iostream> #include<stdio.h> #include<string.h> #include<cmath> usin ...
- MongoDB走过的坑(4.0.3版本)
数据存储一般使用本地或者存储在数据库,MongoDB是一个非关系型数据库,今天小结下走过的一些坑. 1.网上的很多教程对自己无效 解决方法:这种情况一般都是和版本有关系,数据库在不断的更新发展,很多东 ...
- Codeforces #447 Div2 E
#447 Div2 E 题意 给出一个由有向边构成的图,每条边上有蘑菇,假设有 \(n\) 个蘑菇,那么第一次走过这条边可以获得 \(n\) 个蘑菇,第二次 \(n-1\),第三次 \(n-1-2\) ...
- 27、Django实战第27天:全局搜索功能开发
当我们选择其中一个类别(公开课,课程讲师,授课老师),输入搜索内容,点击搜索后会跳转到相应的列表页中进行展示 我们输入的内容作为参数keyword传入后台 搜索"公开课" 当课程中 ...
- ubuntu 进入 pycharm(社区版)
先进入到pycharm所在的目录,然后进入bin 然后./pycharm.sh 例如,我把pycharm 放在桌面上 su ➜ xushukui cd '/home/xushukui/桌面/pycha ...
- Python RE模块中search()和match()的区别
match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找匹配: 也就是说match()只有在0位置匹配成功的话才有返回, 如果不是开始位置匹配成功的 ...
- python url拼接
import datetime,requests import json,time,urllib import hashlib self.url_domain = “www.baidu,com/” u ...
- [BZOJ 2964] Boss单挑战
Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2964 Algorithm: 一道很新颖的背包问题 此题每个状态要维护的量巨多,而转移方式 ...