grep是文本处理三剑客之一,其余两个分别是sed、awk,grep可以打印出文件中匹配到的内容,最大的特点是可以支持正则表达式。

一:grep文本处理工具

grep命令格式介绍:

grep [options]...PATTERN [FILE]
    主要参数:  grep --help可查看
        -A n:显示匹配到的行以及后面的第n行。(after)
        -B n:显示匹配到的行以及前面的第n行。(before)
        -C n:显示匹配到的行以及前后的第n行。(context)
        -v:显示不包含匹配文本的所有行(排除)。
        -c:统计匹配行数。
        -o:仅显匹配到的字符串。
        -i:不区分大小写。
        -E:开启扩展模式
        -h:查询多文件时不显示文件名。
        -l:查询多文件时只输出包含匹配字符的文件名。
        -n:显示匹配行及行号。
        -s:不显示不存在或无匹配文本的错误信息。
        --color=auto :可以将找到的关键词部分加上颜色的显示。

示例:

1.使用grep命令搜索匹配到的内容,并把改行打印出来

grep 获取第n行_正则表达式


2.grep排除过滤用法

grep 获取第n行_正则表达式_02


3.grep 显示行号

grep 获取第n行_正则表达式_03


4.grep显示匹配到的字符

grep 获取第n行_文件名_04


5.grep -A、-B、-C 的用法

grep 获取第n行_元字符_05


grep 获取第n行_grep 获取第n行_06


grep 获取第n行_正则表达式_07

二、正则表达式
正则表达式通常被用来检索、替代那些符合某个模式(规则)的文本,在各种编程语言中都支持正则表达式,因此,正则表达式的应用非常广泛,正则表达式使用一定特定符号用来表示特定功能,这些符号称为元字符,正则表达式有两种:标准正则表达式和扩展正则表达式,正则表达式的元字符可以分成四类:字符匹配、次数匹配、位置锚定、分组和逻辑组合。

2.1字符匹配:

grep 获取第n行_grep 获取第n行_08


2.2次数匹配

grep 获取第n行_文件名_09


2.3位置锚定

grep 获取第n行_linux_10


2.4分组和逻辑处理

grep 获取第n行_元字符_11


grep 获取第n行_元字符_12

例子:

正则表达式匹配单个字符:

grep 获取第n行_linux_13


过滤指定的字符:

grep 获取第n行_linux_14


取反字符:

grep 获取第n行_文件名_15


三、综合练习:

3.1 显示/pro/meminfo文件中以大小s开头的行

grep 获取第n行_linux_16

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

grep 获取第n行_grep 获取第n行_17

3.3 显示用户rpc默认的shell程序

grep 获取第n行_linux_18

3.4 找出/etc/passwd中的两位数或者三位数

grep 获取第n行_元字符_19

3.5 显示Centos7上所有UID小于1000以内的用户名和UID

grep 获取第n行_文件名_20

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

grep 获取第n行_元字符_21


grep 获取第n行_元字符_22

总结:
    在学习正则表达式的时候,要先熟记正则表达式中的四类元字符标点,然后利用符号标点进行练习,才能掌握正则表达式的日常用法