在linux下如何用正则表达式执行ifconfig命令,只提取IP地址!

方法太多,先简单到简捷循序渐进。

1、

[[email protected] ~]# ifconfig eth0|grep ‘inet addr:‘    ###过滤不是IP地址的行

inet addr:192.168.16.100  Bcast:192.168.16.255  Mask:255.255.255.0

或者

[[email protected] ~]# ifconfig eth0|sed -n ‘2p‘    ###过滤不是IP地址的行

inet addr:192.168.16.100  Bcast:192.168.16.255  Mask:255.255.255.0

[[email protected] ~]# ifconfig eth0|sed -n ‘2p‘|sed -n ‘s#^.*dr:##gp‘

192.168.16.100  Bcast:192.168.16.255  Mask:255.255.255.0  ###已经去掉IP地址头部了。

[[email protected] ~]# ifconfig eth0|sed -n ‘2p‘|sed -n ‘s#^.*dr:##gp‘|sed -n ‘s#B.*$##gp‘  
                ###去掉IP地址尾巴。

192.168.16.100

2、    用grep或sed &&cut 组合提取

ifconfig eth0|grep "inet addr:"|cut -d":" -f2|cut -d" " -f1

ifconfig eth0|grep "inet addr:"|cut -f2 -d":"|cut -f1 -d" "

ifconfig eth0|grep "inet addr:"|cut -d: -f2|cut -d" " -f1

ifconfig eth0|sed -n ‘2p‘|cut -c21-35

3、    用grep或sed &&awk 来提取

ifconfig eth0|grep "inet addr"|awk -F‘[ :]+‘ ‘{print $4}‘

ifconfig eth0|sed -n ‘/inet addr/p‘|awk -F‘[: ]+‘ ‘{print $4}‘

4、    直接用sed正则表达式来匹配

ifconfig eth0|sed -rn ‘s#^.*dr:(.*)B.*$#\1#gp‘

ifconfig eth0|sed  -n ‘s#^.*dr:\(.*\)B.*$#\1#gp‘

5、    直接用awk正则表达式来匹配

ifconfig eth0|awk -F ‘[ :]+‘ ‘NR==2 {print $4}‘

ifconfig eth0|awk -F ‘[: ]+‘ ‘/Bcast/ { print $4}‘

ifconfig eth0|awk -F ‘[: ]+‘ ‘/inet addr:/ { print $4}‘

ifconfig eth0|awk -F ‘[ :]+‘ ‘$0 ~ "inet addr"{print $4}‘

6、    直接用grep正则表达式来匹配IP地址数字

ifconfig eth0|grep -o ‘\([1-9]\{1,3\}\.\)\{3\}[0-4]\{3,\}‘

#####[0-4]不要大于4否则子网掩码也会提取出来。

7、

ip addr|grep -Po ‘[^ ]+(?=/\d)‘|sed -n ‘3p‘

8、    直接提取IP地址文件。

/etc/sysconfig/network-scripts/ifcfg-eth0

cat /etc/sysconfig/network-scripts/ifcfg-eth0|sed -n ‘10p‘|cut -d"=" -f2

时间: 2024-08-26 19:56:54

在linux下如何用正则表达式执行ifconfig命令,只提取IP地址!的相关文章

VMware 虚拟机 Ubuntu 系统执行 ifconfig 命令 eth0没有IP地址(intet addr、Bcast、Mask) 解决:UP BROADCAST MULTICAST 问题

VMware 虚拟机 ifconfig没有net_addr地址.Bcast.Mask的解决方法 使用时间长的虚拟机,会莫名其妙的连接不上网 在终端中,使用ifconfig命令查看Ubuntu系统的IP地址,发现没有分配IP地址. eth0:网络接口 link encap : 网络类型 HWaddr : 网卡物理地址 Inet addr :(internet address) IP地址 Bcast:广播地址 Mask:子网掩码 UP:正在使用的网络接口 RX packets,TX packets 

Linux下的crontab定时执行任务命令详解

Linux下的crontab定时执行任务命令详解 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为"crontab",是"cron table"的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service crond start    //启动服务 servi

Linux下的crontab定时执行任务命令详解 - 回家的流浪者 - 博客园

Linux下的crontab定时执行任务命令详解 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为“crontab”,是“cron table”的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service crond start    //启动服务 service crond stop 

Linux下的at定时执行任务命令详解

之前说了使用crontab实现定时执行任务,假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了.一.at服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service atd start    //启动服务 service atd  stop     //关闭服务 service atd restart  //重启服务 service atd reload   //重新载入配置 service atd status   //查看服务状态

(二)Linux下的crontab定时执行任务命令详解

在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为"crontab",是"cron table"的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service crond start    //启动服务 service crond stop     //关闭服务

笔记整理——Linux下C语言正则表达式

Linux下C语言正则表达式使用详解 - Google Chrome (2013/5/2 16:40:37) Linux下C语言正则表达式使用详解 2012年6月6日Neal627 views发表评论阅读评论 标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Regular Expression库,许多Linux发行版本都带有这个函数库. C语言处理正则表达式常用的函数有regcomp

构建LINUX下的入侵检测系统——LIDS 系统管理命令--vlock

构建LINUX下的入侵检测系统——LIDS   系统管理命令--vlock http://blog.chinaunix.net/uid-306663-id-2440200.html LIDS的组成两个用户态工具和一些文件,和一个内核补丁/sbin/目录 存放LIDSADM命令和LIDSCONF命令 /etc/lids/lids.conf #ACLS配置文件/etc/lids/lids.cap #LIDS capabilities(功能)配置文件/etc/lids/lids.pw #LIDS密码文

Linux下的压缩zip,解压缩unzip命令详解及实例

Linux下的压缩zip,解压缩unzip命令 本人亲自测试总结: linux 安装unzip zip 安装命令:yum install -y unzip zip # unzip yasuo.zip 方法一: 安装命令:yum install -y unzip zip 1. 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip:# zip -r yasuo.zip abc.txt dir12.我下载了一个yasuo.zip文件,想解压缩: # unzip yasuo.zip

在android程序中怎么执行ifconfig命令来修改android 的ip地址,

1.引入: import android.provider.Settings; import android.content.ContentResolver; ps:在Setting.System中有以下标志 WIFI_USE_STATIC_IP WIFI_STATIC_IP WIFI_STATIC_NETMASK WIFI_STATIC_GATEWAY WIFI_STATIC_DNS1 and WIFI_STATIC_DNS2 2.在AndroidManifest中加入<uses-permis