免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: plumblossom
打印 上一主题 下一主题

【急】shell 正则匹配问题 反向匹配 负匹配 [复制链接]

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
11 [报告]
发表于 2008-11-26 16:35 |只看该作者

回复 #10 plumblossom 的帖子

grep -v 'abfo'

论坛徽章:
0
12 [报告]
发表于 2008-11-26 23:08 |只看该作者
sed,grep的正则里面用^
awk,find,iptables等里面用!表示非

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
13 [报告]
发表于 2008-11-27 01:09 |只看该作者
原帖由 plumblossom 于 2008-11-26 16:16 发表
谢谢大家。
看了大家的帖子, man 了一下。
原来有原始例子,呵呵。

又进一步理解了一下。-o 原来是表示或的意思,Orz一直都是这么写还不是到为啥....


请大牛们继续解答一下 我问的另一个方面吧。就是 ...

针对这个"负匹配", 不同程序有不同的实现。有些程序支持"不匹配"的正则语法,例如perl的扩展正则序列(?!...),但表达式比较难写。
大部分程序都是对不包含的内容“取反”。只能灵活运用了。
  1. $ cat txt
  2. abcd
  3. 123456
  4. def
  5. helabcdjkk
  6. asss
  7. $ grep -v "abcd" txt
  8. 123456
  9. def
  10. asss
  11. awk '$0 !~ /abcd/' txt
  12. $awk '!/abcd/' txt
  13. 123456
  14. def
  15. asss
  16. $
  17. $ sed -n '/abcd/!p' txt
  18. 123456
  19. def
  20. asss

  21. $ ls
  22. abc  cu  linux  unix
  23. $ find ! -regex ".*linu.*"
  24. .
  25. ./abc
  26. ./cu
  27. ./unix
复制代码

参考
http://bbs.chinaunix.net/viewthread.php?tid=904703
http://www.cnblogs.com/deerchao/archive/2007/02/15/651411.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP