linux grep与正则表达式使用介绍

2020-03-08 08:02:10王振洲

$ :行尾
<, b :语首
>, b :语尾

分组:
() 后向引用:1, 2, ...
或者:
a|b: a或b C|cat: C或cat (C|c)at:Cat或cat

练习题:

1、显示/proc/meminfo文件中以大小s开头的行(要求:使用两种方法)

grep与正则表达式

2、显示/etc/passwd文件中不以/bin/bash结尾的行

grep与正则表达式

3、显示用户rpc默认的shell程序

grep与正则表达式

4、找出/etc/passwd中的两位或三位数 (只要数字的话可以加-o选项仅仅显示数字)

grep与正则表达式

5、显示CentOS7的/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面有非 空白字符的行

grep与正则表达式

6、找出“netstat -tan”命令结果中以LISTEN后跟任意多个空白字符结尾的行

grep与正则表达式

7、显示CentOS7上所有系统用户的用户名和UID

grep与正则表达式

8、添加用户bash、testbash、basher、sh、nologin(其shell为/sbin/nologin),找 出/etc/passwd用户名和shell同名的行

grep与正则表达式

9、利用df和grep,取出磁盘各分区利用率,并从大到小排序

grep与正则表达式

grep和正则表达式参数

一:grep参数

1,-n  :显示行号

2,-o  :只显示匹配的内容

3,-q  :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容

4,-l  :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc 

,

5,-A  :如果匹配成功,则将匹配行及其后n行一起打印出来

6,-B  :如果匹配成功,则将匹配行及其前n行一起打印出来

7,-C  :如果匹配成功,则将匹配行及其前后n行一起打印出来

8,-c  :如果匹配成功,则将匹配到的行数打印出来