免费注册 查看新帖 |

Chinaunix

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

[文本处理] grep -B2 -A2 -f pattern_file *.txt 时能否把关键词显示在行首? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-01-06 18:11 |只看该作者 |倒序浏览
本帖最后由 blackantt 于 2014-01-06 18:13 编辑

1.    grep -B2 -A2 -f pattern_file *.txt 时能否把从pattern_file里的关键词显示在每个结果行的行首?

如 guy|  this [ guy ] is a bad man.   其中guy是关键词

2. 同时在每个关键词的前后加上标记,如  [ 关键词 ]

论坛徽章:
5
亥猪
日期:2013-10-15 13:41:04CU十二周年纪念徽章
日期:2013-10-24 15:41:34申猴
日期:2013-10-28 10:55:45辰龙
日期:2013-10-31 13:29:29丑牛
日期:2014-02-14 11:25:54
2 [报告]
发表于 2014-01-06 18:47 |只看该作者
用 grep 的话没法搞

论坛徽章:
0
3 [报告]
发表于 2014-01-06 20:49 |只看该作者
回复 2# lkk_super

   不管用啥,能快就行。

难道非要先把 *.txt 放入数据库,再读索引把它弄出来吗。 grep 与 perl 如果从50M 左右的txt中取1000个关键词的上下文,都慢的没法忍受。


   

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
4 [报告]
发表于 2014-01-07 09:32 |只看该作者
50M还搞不了?

论坛徽章:
8
技术图书徽章
日期:2013-08-22 11:21:28未羊
日期:2015-01-19 22:22:25巳蛇
日期:2014-08-11 16:53:08子鼠
日期:2014-05-29 09:04:44摩羯座
日期:2014-04-11 14:15:07丑牛
日期:2014-01-24 12:41:28金牛座
日期:2013-11-21 17:38:28射手座
日期:2015-01-21 08:50:32
5 [报告]
发表于 2014-01-07 10:40 |只看该作者
本帖最后由 huang6894 于 2014-01-07 10:41 编辑
  1. => cat test
  2. dsjahkdhj uan hdsjkakl
  3. sahjkw jsdhw huang jkdlw
  4. sss hhh hkw hua www

  5. => awk '{for(i=1;i<=NF;i++)if($i~/ua/){a=$i;$i="["$i"]";print a"|"$0}}' test
  6. uan|dsjahkdhj [uan] hdsjkakl
  7. huang|sahjkw jsdhw [huang] jkdlw
  8. hua|sss hhh hkw [hua] www
复制代码
给个笨的方法

论坛徽章:
0
6 [报告]
发表于 2014-01-07 15:09 |只看该作者
blackold 发表于 2014-01-07 09:32
50M还搞不了?


有时间的话,帮我看看  http://bbs.chinaunix.net/thread-4118108-1-1.html 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP