免费注册 查看新帖 |

Chinaunix

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

[文本处理] bash如何提取每一行 PGID后面的数字,到数组或变量中 [复制链接]

论坛徽章:
2
数据库技术版块每日发帖之星
日期:2015-10-28 06:20:00数据库技术版块每日发帖之星
日期:2015-10-29 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2018-09-03 13:48 来自手机 |只看该作者 |倒序浏览
本帖最后由 weichanghe2000 于 2018-09-03 13:56 编辑

Hi all。请教大家一个问题,
对于下面示例给出的几行,用 bash 如何提出每一行 PGID后面的数字,到数组或变量中?
即第1行输出 11710 11712
即第2行输出 6395
即第3行输出 5027 5021 5015
用perl:
...
...

  1. my @pgids;
  2. my $a;
  3. while ( $a =~ /PGID: (\d+);/g) {
  4.     print "1: $1\n";
  5.     push @pgids, $1;
  6. }
  7. ...
  8. ....
复制代码

bash不知道实现??
  1. Thu Jun 9 00:29:01: Resource usage collected. MEM: 3 Mbytes; SWAP: 137 Mbytes; NTHREAD: 4 PGID: 11710; PIDs: 11710 11711 11713; PGID: 11712; PIDs: 11712 11718 11719;

  2. Mon Nov 29 14:08:46: Resource usage collected. MEM: 2 Mbytes; SWAP: 32 Mbytes; NTHREAD: 1 PGID: 6395; PIDs: 6395;

  3. Wed Aug 13 14:23:43 2009: Started on <hostB>, Execution Home </home/user1>, Execution CWD </home/user1>; Resource usage collected. IDLE_FACTOR(cputime/runtime): 0.00 MEM: 3 Mbytes; SWAP: 4 Mbytes; NTHREAD: 3 PGID: 5027; PIDs: 5027 5028 5029; PGID: 5021; PIDs: 5021 5022 5023;  PGID: 5015; PIDs: 5015 5016 5019;
  4. ....
  5. ....
  6. ....
复制代码


论坛徽章:
8
2016科比退役纪念章
日期:2018-10-24 08:24:0115-16赛季CBA联赛之北控
日期:2019-03-12 14:34:562016科比退役纪念章
日期:2019-04-01 10:33:0915-16赛季CBA联赛之山东
日期:2019-04-17 12:46:3215-16赛季CBA联赛之广夏
日期:2019-05-09 16:40:4015-16赛季CBA联赛之广夏
日期:2019-10-10 15:33:4015-16赛季CBA联赛之辽宁
日期:2019-10-15 08:37:0615-16赛季CBA联赛之北控
日期:2021-03-30 15:53:34
2 [报告]
发表于 2018-09-04 09:28 |只看该作者
  1. declare -a res
  2. for line in `grep -Po '(?<=PGID: )\d+' file.txt`
  3. do
  4.         res[i]=$line
  5.         i+=1
  6. done
复制代码

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-10-11 06:20:0015-16赛季CBA联赛之山东
日期:2016-05-28 18:18:5615-16赛季CBA联赛之新疆
日期:2017-04-12 22:55:4715-16赛季CBA联赛之青岛
日期:2017-06-26 18:30:0315-16赛季CBA联赛之四川
日期:2017-09-04 12:27:0315-16赛季CBA联赛之福建
日期:2018-02-09 14:28:3315-16赛季CBA联赛之同曦
日期:2018-04-17 12:43:3415-16赛季CBA联赛之浙江
日期:2018-07-14 13:27:4015-16赛季CBA联赛之吉林
日期:2018-09-13 15:48:2915-16赛季CBA联赛之新疆
日期:2016-05-07 05:05:3215-16赛季CBA联赛之八一
日期:2016-03-14 12:32:06程序设计版块每日发帖之星
日期:2015-12-12 06:20:00
3 [报告]
发表于 2018-09-04 12:11 |只看该作者
  1. b=$(grep -Po '(?<=PGID: )[^;]+' file)
  2. echo $b
复制代码

论坛徽章:
0
4 [报告]
发表于 2018-09-04 13:12 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP