grep命令可以是根据特定条件过滤文本内容。
查看含义指定字符的行
这里就是过滤含有root的行
[root@lu-k8s-master133 ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
查看开头含有指定字符的行
这里就是使用^r 代表开头含有r的字符
-i 代表忽略大小写
-n 显示行号
[root@lu-k8s-master133 ~]# grep "^r" /etc/passwd -i -n
1:root:x:0:0:root:/root:/bin/bash
查看结尾有指定字符的行
这里就是使用$代表最后 这里就是查看最后一个字符为h的行
[root@lu-k8s-master133 ~]# grep "h$" /etc/passwd -i -n
1:root:x:0:0:root:/root:/bin/bash
注意正则表达式
.在这里有着特殊含义, 要用\转义一下。
grep "\.$" shdew.txt -i -n
过滤不含有空行和开头#的行
-E代表使用扩展正则表达式
-v 就是取反
扩展正则表达式**:通过 `-E` 选项启用,支持更多的元字符,比如 `+`, `?`, `|`, `()`, `{}` 以及 `()` 中的分组和量词。这提供了更强大的文本匹配能力,并且使得某些类型的模式更容易书写和理解。
“^$” 代表空行 ^# 代表开头为#
grep -Ev "^$|^#" /etc/passwd