免费注册 查看新帖 |

Chinaunix

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

[文本处理] 问个grep匹配的问题 [复制链接]

论坛徽章:
2
射手座
日期:2013-10-29 16:22:32丑牛
日期:2013-11-25 16:29:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-05-05 17:57 |只看该作者 |倒序浏览
本帖最后由 kakaliu 于 2014-05-05 18:07 编辑

文件A
  1. $ cat 1test
  2. ab123cdefh45北京
  3. vffff67hghj
复制代码
文件B
  1. $ cat 2test
  2. ab
  3. 45
  4. 678
  5. 你好北京欢迎你
复制代码
其实就是将2test中的字作为关键字 去匹配1test
我使用
  1. $ grep -f 2test --color 1test
复制代码
ab123cdefh45 能匹配ab 45 什么的 但是我还想匹配67 北京 应该怎么弄?

最终的效果就是

ab123cdefh45a北京
vffff67hghj

论坛徽章:
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
2 [报告]
发表于 2014-05-05 17:59 |只看该作者
回复 1# kakaliu
你的需求是拿67去匹配而不是678?

论坛徽章:
2
射手座
日期:2013-10-29 16:22:32丑牛
日期:2013-11-25 16:29:17
3 [报告]
发表于 2014-05-05 18:02 |只看该作者
678去匹配67

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
4 [报告]
发表于 2014-05-05 18:37 |只看该作者
回复 1# kakaliu

Would you like it

$ sed 's/\B/\n/g' 2test > 2test.re

$ grep -f 2test.re --color 1test
ab123cdefh45北京
vffff67hghj

   

论坛徽章:
2
射手座
日期:2013-10-29 16:22:32丑牛
日期:2013-11-25 16:29:17
5 [报告]
发表于 2014-05-05 21:18 |只看该作者
本帖最后由 kakaliu 于 2014-05-05 21:20 编辑

回复 4# jason680


    貌似不行 这样只是将一句话 拆字成单个字符换行

我实际需求就是客户发的短信内容如下:
  1. 【积分到期提醒】会员卡XXXX,您现有积分3000分,可抵兑300元现金,积分将于2014/5/31到期清零。快来为自己挑选一副时尚太阳镜,或清晰舒适的度数眼镜吧。用心聆听,只为清晰视野,回复TD退订【XXX】
复制代码
然后运营商又给了我一批关键字 关键字就是类似我贴中的2test 关键字肯定是2个字以上的 如图


我现在实际碰到的问题 看短信返回的状态是提示有关键字 但是我不知道短信内容是哪个词语是关键字 我现在的做法 就是 凭感觉 去关键字找查找
  1. $ grep "现金" 1069pinbi
  2. 现金奖
  3. 现金
复制代码
可以查到关键字有 现金 我短信内容也出现了 现金这个词 所以造成短信提交失败 不知各位大神还有没有其他办法能快速判断是短信内容哪个词是关键字
  1. 【积分到期提醒】会员卡XXXX,您现有积分3000分,可抵兑300元现金,积分将于2014/5/31到期清零。快来为自己挑选一副时尚太阳镜,或清晰舒适的度数眼镜吧。用心聆听,只为清晰视野,回复TD退订【XXX】
复制代码

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
6 [报告]
发表于 2014-05-05 22:24 |只看该作者
  1. :~$ while read ilne
  2. > do
  3. > for((i=2;i<${#line};i++))
  4. > do
  5. > key=`echo $line | cut -c $((i-1)),$i`
  6. > grep "$key"  1test
  7. > done
  8. > done <2test


复制代码
是不是这个意思?

论坛徽章:
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-05-05 22:27 |只看该作者
回复 5# kakaliu

这关键词,很黄很暴力。
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP