正则表达式须知
  6ZwbFKQkKNgm 2023年11月02日 131 0

可以使用若干符号配合某工具对字符串进行

正则表达式须知_正则表达式

grep ^root user    //找以root开头的行
grep bash$ user     //找以bash结尾的行
grep "[root]" user    //找r、o、t任意一个字符 
grep "[^rot]" user   //显示r或o或t以外的内容
grep "[0-9]" user    //找所有数字
grep "r..t" user  //找rt之间有2个任意字符的行
grep "ro*t" user   //找rt,中间的o有没有都行,有几次都行
grep ".*" user  //找任意,包括空行 
grep "ro\{2,6\}t" user  //找rt,中间的o可以有2~6个
grep "ro\{1,\}t" user  //找rt,中间的o可以有1个以及1个以上
grep "ro\{3\}t" user   //找rt,中间的o必须只有有3个

\w匹配数字、字母、下划线  
egrep "roo\w" user   //找roo后面是数字、字母、下划线的字符串

\s 匹配空格、tab键    
egrep "roo\s" user   //找roo后面是1个空格或tab键打出来的空格的字符串,没有就不输出

\d 匹配数字,和[0-9]等效 需要-P支持
grep -P "(25[0-5]\.|2[0-4]\d\.|1?\d?\d\.){3}(25[0-5]|2[0-4]\d|1?\d?\d)"   //匹配ip地址

正则表达式须知_正则表达式_02

扩展正则需要grep -E  或egrep //支持
grep "ro\{1,\}t" user可以改成 grep -E "ro{1,}t" user    
egrep "ro{1,}t" user   //使用扩展正则,效果同上,比较精简
egrep "ro+t" user   //使用扩展正则,效果同上,最精简
grep "roo\{0,1\}t" user   //使用基本正则找第二个o出现0~1次
egrep "roo{0,1}t" user   //使用扩展正则,效果同上,比较精简
egrep "roo?t" user   //使用扩展正则,效果同上,最精简

egrep "(0:){2}" user  //找连续的2个0:  小括号的作用是将字符组合为一个整体
egrep "root|bin" user  //找有root或者bin的行

egrep  "the\b" abc.txt   //在abc.txt文件中找the,右边不允许出
现数字、字母、下划线
egrep  "\bthe\b" abc.txt   //两边都不允许出现数字、字母、下划线
egrep  "\<the\>" abc.txt   //效果同上
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  6YY0QMPUXEwu   2023年12月10日   22   0   0 linux网卡
  Ex81gqy3LOX7   2023年12月07日   15   0   0 linux
  nIt0XG0acU8j   2023年12月11日   24   0   0 linuxhtop
  nIt0XG0acU8j   2023年12月09日   27   0   0 linuxsort