从命令行取linux中eth0的IP地址学习awk
来源:互联网 发布:yiishop2.0 源码 编辑:程序博客网 时间:2024/06/06 01:48
请执行命令取出linux中eth0的IP地址(请用cut,有能力者也可分别用awk,sed命令答)。
解答:
说明:此题解答方法已经给大家讲解了不下15种,还可以有很多,在这里给大家着重讲下awk的技巧用法,希望大家能多重视老师的思路、思维过程,不过过分关注问题的答案,以便达到学一通十的效果。
方法一【此法为绿叶】:如果用awk来处理的话,一般的同学可能会用下面的办法实现:
小结:这个方法是常规方法,很好。但是我们有没有更简单的awk实现方法呢?往下看。
方法二【此法为小红花】:通过awk同时使用多个分隔符来实现:
小结:这个方法很方便吧,同学们可以多用,选取包含IP地址行的特殊关键字'inet addr’过滤然后,使用awk以空格和:同时做分隔符,然后取出需要的内容。
本答案的最大缺点就是计算$n的时候很费劲,因为inet前面有多个空格,查到$13,真是不容易,如此看来从实现时间上可能还不如第一个方法快呢?那好引出我们今天的关键答案案例。
方法三【大红花出场】:通过awk同时使用多个分隔符,然后通过正则匹配多个分隔符的方法来实现:
我们来说明下这个简单易用的好办法:
提示:本题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 '[ :]+'分隔符后,不同字符串被分隔的列依次为:
4)整个答案awk部分意思是,通过NR==2取出第二行,然后,通过-F '[-:]+多分隔符正则匹配,然后通过{print $4}打印出第四列 !谢谢杨瑞同学的答案啊, 懒得写了,所以让你总结下。嘿嘿,看到后别怪老师啊。
5)掌握了理论要去实践验证才是科学严谨的学习态度,好,来几个例子实践说话吧。
- 从命令行取linux中eth0的IP地址学习awk
- 请执行命令取出linux中eth0的IP地址
- linux 修改网卡eth0的ip地址
- APUE之从eth0中获取ip地址
- 3.请执行命令取出linux中eth0的IP地址(考试题答案系列)
- awk 获取ip地址的学习
- Linux没有eth0或者eth0无IP地址解决方法
- LINUX修改IP地址_ifcfg-eth0详解
- linux配置ip地址--eth0文件配置
- linux c 命令 获取eth0 ip地址
- linux下获取ip地址的命令行
- awk中抓取IP地址
- 从SOCKADDR_STORAGE结构中取IP地址和端口
- 从SOCKADDR_STORAGE结构中取IP地址和端口 .
- linux 获取eth0(指定网卡)网卡的IP地址(或MAC地址)
- 从vware里克隆出的CentOS Linux,ifconfig 没有ip地址 和重启 Device eth0 does not seem to be present
- Linux系统已配置的ip地址失效,ifconfig看不到ifcfg-eth0……
- 配置Linux的eth0网卡设置IP地址以及启动方式
- 初探block
- android adb命令 unable to connect to 192.168.1.155:5555
- hudson中配置另外一台机器上源码的构建
- 最棒的逆向工具 IDA Plus 6.4 hex-rays decopiler (arm x86) 1.8.0.130306
- ctags
- 从命令行取linux中eth0的IP地址学习awk
- android中用xml文件实现阴影效果
- Facebook Tackles (Really) Big Data With ‘Project Prism’
- free
- java第十章
- 历史文章之深思4 rockey5 rockey6 新一代加密狗乱弹
- C#基于SMTP协议和SOCKET通信,实现邮件内容和附件的发送,并可隐藏收件人
- 用 WIRESHARK 分析 RTP 流
- ECLIPSE中设置.CLASS文件的输出路径及“JAVA BUILD PATH”的设置