正则介绍 grep

1,正则介绍。

    正则就是一串有规律的字符串。掌握好正则对shell脚本有很大的帮助,各种编程语言中都有正则,原理是一样的。其实正则表达式只是一种思想、一种表示方法,只要我们使用的工具支持这种表示方法,那么这个工具就可以处理正则表达式的字符串。常用的工具有grep、sed、awk,它们都是对文本的行进行操作的。

2.grep/egrep工具。

    命令的格式:grep [-cinvABC] 'word' filename,常用选项的含义。

    -c:打印符合要求的行。

    -i:表示忽略大小写。

    -n:输出符合要求的行及其行号。

    -v:表示打印不符合要求的行。

    -A:后面跟一个数字,打印符合要求的行以及下面的n行。

    -B:后面跟一个数字,打印符合要求的行以及上面的n行。

    -C:后面跟一个数字,打印符合要求的行以及上和下的各n行。

    -r:遍历所有子目录,只对文件有效。

    示例:

    将passwd文件拷贝到新建的grep目录下。

    

    打印出passwd文件中带有nologin的行。在CentOS7中grep命令自带颜色选项。

    

    打印行数。

    

    过滤出带有关键字的行,并输出行号。

    

    不区分大小写并输出行号。

    

    过滤出不带有某个关键字的行并输出行号。

    

    过滤出所有包含数字的行。

    

    过滤出所有不包含数字的行。

     

     过滤掉空行。在正则表达式中,^表示行的开始,$表示行的结尾,空行用^$来表示。

    过滤掉所有以#开头的行。

    

    过滤掉所有的空行。

    

    打印不以英文字母开头的行。

    

    过滤出任意一个字符。.表示任意一个字符,图中r.o表示把r与o之间有任意字符的行过滤掉。

    

    过滤出重复字符。*表示零个或多个*前面的字符。

      

    指定要过滤出的字符出现次数。

        

    过滤出一个或多个指定的字符。 egrep可以使用符号+,表示匹配一个或多个+前面的字符,+号不支持被grep直接使用。

    

    

    过滤出0个或一个指定的字符。

    

    过滤出字符串1或字符串2。

    

    egrep中()的应用。这里的()表示一个整体,及把rooo和rato的行过滤出来。

    

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值