免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8226 | 回复: 14
打印 上一主题 下一主题

[文本处理] 请教这个字符串用grep和awk怎么提取?谢谢 [复制链接]

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:52:30
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-10 09:57 |只看该作者 |倒序浏览
5可用积分
我需要提取udhcpc_eth0.result文件里面的netmask,也就是255.255.255.0。用grep和awk怎么提取出来呢?
还有ip,也就是192.168.1.1,怎么提取出来呢?
弄了很久没弄出来,谢谢

/tmp # cat udhcpc_eth0.result

DHCP_OK='/var/lock/dhcp.ok'
DHCP_OK2='/var/lock/dhcp.'
IFS='
'
NETMASK='netmask 255.255.255.0'
OPTIND='1'
PATH='/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin'
PPID='7860'
PS1='\w \$ '
PS2='> '
PS4='+ '
PWD='/usr/local/bin/IMS_Modules/Wfdisplay/scripts'
RESOLV_CONF='/etc/resolv.conf'
dns='192.168.1.1'
interface='eth0'
ip='192.168.1.2'
lease='86400'
mask='24'
router='192.168.1.1'
serverid='192.168.1.1'
subnet='255.255.255.0'

最佳答案

论坛徽章:
0
2 [报告]
发表于 2014-06-10 09:57 |只看该作者
@fire_vr
  1. [root@svn252 ~]# cat URFILE  | awk -F"'" '/ip=/{print $2 }'
  2. 192.168.1.2
复制代码

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
3 [报告]
发表于 2014-06-10 10:03 |只看该作者
本帖最后由 Herowinter 于 2014-06-10 10:04 编辑

回复 1# fire_vr
  1. grep -Po '(?<=netmask )[.0-9]+' udhcpc_eth0.result
  2. 255.255.255.0
复制代码

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:52:30
4 [报告]
发表于 2014-06-10 10:10 |只看该作者
回复 2# Herowinter


    你好,我在输入时,找不到P。。

/tmp # grep -Po '(?<=netmask )[.0-9]+' udhcpc_eth0.result
grep: invalid option -- P

论坛徽章:
0
5 [报告]
发表于 2014-06-10 10:10 |只看该作者
@fire_vr
  1. cat URFILE  | awk -F[\ \'] '/NETMASK/{print $3}'
  2. 255.255.255.0
复制代码

论坛徽章:
0
6 [报告]
发表于 2014-06-10 10:15 |只看该作者
回复 3# fire_vr


你什么操作系统,找不到-p


   

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
7 [报告]
发表于 2014-06-10 10:17 |只看该作者
回复 3# fire_vr
  1. sed -nr '/NETMASK/s/.*netmask\s*([.0-9]+).*/\1/p' udhcpc_eth0.result
  2. 255.255.255.0
复制代码

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:52:30
8 [报告]
发表于 2014-06-10 10:30 |只看该作者
回复 5# todayhero


    高手啊,多谢

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:52:30
9 [报告]
发表于 2014-06-10 10:31 |只看该作者
回复 6# todayhero

我用的是嵌入式Linux,kernel是2.6.32,可能busybox版本比较老

   

论坛徽章:
2
白羊座
日期:2014-06-17 11:04:28午马
日期:2014-12-29 15:37:13
10 [报告]
发表于 2014-06-10 18:35 |只看该作者
  1. awk -F "[ ']" '{if($1~/NETMASK/) print $3;else if($1~/ip/) print $2} ' urfile
复制代码
  1. grep -Po "(?<=sk |ip=')[^\']+" urfile
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP