当前位置:  技术问答>linux和unix

sed匹配数字的疑惑

    来源: 互联网  发布时间:2017-05-22

    本文导语:  本帖最后由 angus2887 于 2012-11-18 18:14:06 编辑 日志文件中其中一行内容为:abc135hello 想使用正则找到这一样,分别使用命令egrep和sed。 问题1:数字匹配上d是用来匹配数字的,使用d+匹配不到135,但是必须用[0-9]才可以 ...

本帖最后由 angus2887 于 2012-11-18 18:14:06 编辑
日志文件中其中一行内容为:abc135hello
想使用正则找到这一样,分别使用命令egrep和sed。
问题1:数字匹配上d是用来匹配数字的,使用d+匹配不到135,但是必须用[0-9]才可以
问题2:egrep命令使用[0-9]+正则可以匹配到135,sed命令却不行
[root@livedvd log]# egrep "abcd[0-9]+hello" tmp.txt 
abcd135hello
[root@livedvd log]# egrep "abcdd+hello" tmp.txt
[root@livedvd log]# sed -n '/abcd[0-9]+hello/p' tmp.txt
[root@livedvd log]# sed -n '/abcdd+hello/p' tmp.txt
[root@livedvd log]#

后来尝试单独看看d在sed中能匹配到什么,发现匹配到的是字母d而不是数字
[root@livedvd log]# sed -n 's/d/AAAAAAAAAAAA/p' tmp.txt
abcAAAAAAAAAAAA135hello
[root@livedvd log]# 

这应该都是简单的正则匹配,不知道原因在什么地方,求解答,谢谢

|
看这篇文章,详细介绍了哪些支持,哪些不支持。以及grep ,grep -e ,egrep的区别

|
egrep 不支持 d (属于shorthand character classed), perl和java支持d

|
是不是Linux shell中正则表达时中d不是匹配的数字啊,数字匹配一直的的是[0-9]

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 筛选数字字段(熟悉AWK,SED,RE等进) Shell
  • sed 怎么截取特使字符后的数字呀?
  • linux下利用(cat,strings,head,sed)命令生成随机字符串
  • pwd|sed 's//cygdrive/([a-z])/1:/' | sed 's///#/g'`\/(pwd代表绝对地址)这个sed又是什么
  • 在循环中使用sed,为什么sed不被执行
  • 请问 ls *.IMG | sed s/.IMG// > cube.lis 中的 | sed s/.IMG// 参数是什么意思?
  • sed n 模式替换中正则表达式获取值问题(sed 高手帮帮忙!!)
  • sed 的简单问题, sed初学, 脚本高手进。先谢了
  • sed变量的用法
  • 求住,sed命令
  • 关于sed脚本,高手快来解答
  • sed问题。。。对高手来说easy。。。
  • 求助:这个sed命令是什么意思?
  • sed linux 这句话什么 意思?
  • shell中的sed引入变量问题
  • 关于sed的正则表达式
  • sed -i 修改文件内容
  • (急)shell,sed 关于参数的传递
  • | sed 's/^/\ /' > 是啥意思啊
  • 在线等待,用sed命令如何替换整行?
  • 请教sed awk的用法详解,有命令说明的链接也不错,谢谢了
  • sed /awk 字段截取,Help!
  • 流编辑器 GNU sed


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,