shell 之 grep 和正则表达式(五)
admin
2023-07-27 04:00:05
0次

        今天我们来学习下 shell 中的 grep 和正则表达式。作为基础入门学习,也只是学习一些简单的语法。

        首先我们来看看 grep 查找命令。我们先来看看 man grep

shell 之 grep 和正则表达式(五)

        我们看到 grep 的用法有很多,我们就来看看最常用的一些操作。

shell 之 grep 和正则表达式(五)

        我们可以看到 grep "a" test.txt 和 cat test.txt | grep "a" 的效果是一样的,都是查找 a 这个字符。那么我们在前面加上 -v 呢,它表示的是除了带有 a 字符剩余的别的内容。

shell 之 grep 和正则表达式(五)

        我们看到 -c 的意思是打印出所查找字符的行数, -v -c 就代表的是除所查找的字符以外的所有行数。

shell 之 grep 和正则表达式(五)

        我们看到 -n 便是加上它所在的行号,同样的也适用于 cat 命令。

shell 之 grep 和正则表达式(五)

        我们看到 -A 2 是显示所查找的字符的后两行(after);-B 2 是显示所查找的字符前两行(before);-A 2 -B 2 和 -C 2 的效果是一样的,都是显示所查找字符的前后两行的数据。

shell 之 grep 和正则表达式(五)

        我们看到在 -r 选项是递归查找,如果我们在查找的子目录中也有相应的字符串,那么我们此时加上 -r ,便会全部查找到。

        下来我们来学习下正则表达式,那么为什么要学习正则表达式呢?正则表达式: a> 能模糊、快速匹配数据串;b> 为学习 grep,awk,sed 等文本过滤命令做铺垫;c > 编写高级 bash 脚本的需要。那么正则表达式有哪些元字符呢?[ ] \ ^ $ . | ? * + ( )

        我们接下来来看看这些基本元字符的含义,如下

 shell 之 grep 和正则表达式(五)

        下来我们逐一来看看。

        1、^

shell 之 grep 和正则表达式(五)

        我们看到 ls | grep '^[0-9]' 查找的是以 0-9 开头的文件,下面是 0-3 开头的文件。在里面加上 ^ 表示非 0-3 开头的所有文件。

        2、$

shell 之 grep 和正则表达式(五)

        我们看到我们在查找以 e 结尾的字符,然后再以数字 0-9 开头的,它只能严格匹配到 3e 和 4e;而 56e 只能以不是 ^ 开头的这样方式来进行匹配。

        3、* 和 ?

shell 之 grep 和正则表达式(五)

        我们看到在以数字开头,?* 后面接任意字符的字符串全被打印出来了。

        4、 .

shell 之 grep 和正则表达式(五)

        我们看到在以 5 开头,e 结尾的字符串 56e 被成功匹配出来;

        5、pattern\{n\}

shell 之 grep 和正则表达式(五)

        我们看到两次的区别是什么呢?前一次的是只要符合条件就都匹配出来,加上 ^ 则表示只以两个数字开头的字符串被匹配出来。

        6、pattern\{n, \}

shell 之 grep 和正则表达式(五)

        我们看到效果是最少出现 2 次,在后面我们写进去的 77777777 也被匹配出来了。

        7、pattern\{n,m\}

shell 之 grep 和正则表达式(五)

        我们看到这次是在数字开头的 2 和 4 之间的字符串。经过学习了这么多正则表达式的用法,发现它还是很灵活的,后面我们会继续对正则表达式的学习。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...