免费注册 查看新帖 |

Chinaunix

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

急。。。。求解。。。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-24 12:05 |只看该作者 |倒序浏览
这样的一个文件shell 可以处理吗?
------------------------------------------------------------------------
11607 |abc | 2011-01-17 12:53:06 +0800 (Mon, 17 Jan 2011) | 2 lines
        11111111111111111111111111
        22222222222222222222222222222
       


------------------------------------------------------------------------
11610 | def| 2011-01-17 15:24:27 +0800 (Mon, 17 Jan 2011) | 4 lines
        1111111111111111111111
        222222222222222222222222
        333333333333333333333333
        4444444444444444444444444


------------------------------------------------------------------------
11633 | abc | 2011-01-17 20:25:24 +0800 (Mon, 17 Jan 2011) | 2 lines

        11111111111111111111
        22222222222222222222
------------------------------------------------------------------------
11633 | abc | 2011-01-17 20:25:23 +0800 (Mon, 17 Jan 2011) | 4 lines
        111111111111111111111
        2222222222222222222222
        333333333333333333333333
        444444444444444444444444
-----------------------------------------------------------------------
11610 | def| 2011-01-17 15:24:27 +0800 (Mon, 17 Jan 2011) | 5 lines
        1111111111111111111111
        22222222222222222222
        33333333333333333333
        4444444444444444444444
        5555555555555555555555555
------------------------------------------------------------------------
过滤abc的
11633 | abc | 2011-01-17 20:25:23 +0800 (Mon, 17 Jan 2011) | 4 lines
        111111111111111111111
        2222222222222222222222
        333333333333333333333333
        444444444444444444444444

11633 | abc | 2011-01-17 20:25:24 +0800 (Mon, 17 Jan 2011) | 2 lines

        11111111111111111111
        22222222222222222222
11607 |abc | 2011-01-17 12:53:06 +0800 (Mon, 17 Jan 2011) | 2 lines
        11111111111111111111111111
        22222222222222222222222222222

论坛徽章:
0
2 [报告]
发表于 2011-01-24 12:21 |只看该作者
把你的需求说清楚,是不是只要把含abc的东东够匹配出来

论坛徽章:
0
3 [报告]
发表于 2011-01-24 12:31 |只看该作者
本帖最后由 xiaopan3322 于 2011-01-24 12:38 编辑

是这个意思吗:
  1. [12:36:10-Bob@hzling08:~/test]-(1160)No.37->$ sed -n "/abc/,/^-\+/p" urfile | egrep -v "^-|^$"
  2. 11607 |abc | 2011-01-17 12:53:06 +0800 (Mon, 17 Jan 2011) | 2 lines
  3.         11111111111111111111111111
  4.         22222222222222222222222222222

  5. 11633 | abc | 2011-01-17 20:25:24 +0800 (Mon, 17 Jan 2011) | 2 lines
  6.         11111111111111111111
  7.         22222222222222222222
  8. 11633 | abc | 2011-01-17 20:25:23 +0800 (Mon, 17 Jan 2011) | 4 lines
  9.         111111111111111111111
  10.         2222222222222222222222
  11.         333333333333333333333333
  12.         444444444444444444444444
复制代码

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
4 [报告]
发表于 2011-01-24 13:12 |只看该作者

  1. sed -rn '/^[\^1]+\|\s*abc\s*\|/,/----/p' urfile | grep -v '\---'
复制代码

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
5 [报告]
发表于 2011-01-24 13:14 |只看该作者
本帖最后由 yinyuemi 于 2011-01-24 13:44 编辑

awk -v p=0 '/abc/{p=1}/^-/{p=0}p' file

awk '/^-/{x++;next}(NF>0) {a[x]=a[x]"\n"$0} END{for (i=1;i<=x;i++) if(a~/abc/) print  a}' file

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
6 [报告]
发表于 2011-01-24 13:20 |只看该作者

  1. #!/bin/bash
  2. sed -rn '/^[^\|]+\|\s*'"$1"'\s*\|/{p;ba;};d;:a;n;/---/d;p;ba' $2
复制代码

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
7 [报告]
发表于 2011-01-24 13:24 |只看该作者
  1. awk 'BEGIN{FS="|"}$2~/abc/{print;while(getline){if($0!~/---/)print;else next;}}' urfile
复制代码

论坛徽章:
0
8 [报告]
发表于 2011-01-24 13:38 |只看该作者
如果没有排序的话
awk -v p=0 '/abc/{p=1}/^-/{p=0}p' file
yinyuemi 发表于 2011-01-24 13:14


学习……

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
9 [报告]
发表于 2011-01-25 09:25 |只看该作者
还有更短的。
  1. awk '/abc/' RS="--+" infile
复制代码

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
10 [报告]
发表于 2011-01-25 09:29 |只看该作者
回复 9# rdcwayx


    !牛~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP