grep过滤的详细说明和实例

正则表达式的工具有:grep egrep sed awk



1.grep作用

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。可以过滤指定的行



2.格式

grep [options]

3.主要参数
[options]主要参数:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。

[ ]:单个字符,如[A]即A符合要求 。

[0-9]:表示数字

[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。

。:所有的单个字符。

* :有字符,长度可以为0,可以匹配多个字符。

.表示任意一个字符

.*表示任意一个任意字符,s.*d s开头d结尾的都可以匹配上

\?表示脱意符号前面的字母可以匹配 s\?d 指显示脱意符前面的s或者单独d开头的

? +用于egrep

-r:匹配目录

--color:用颜色标注

-A:不仅可以显示匹配的行还可以多显示下面几行,具体行数取决于A后面的数值

-B:不仅可以显示匹配的行还可以多显示上面几行,具体行数取决于B后面的数值

-C:不仅可以显示匹配的行还可以多显示上下各几行,具体行数取决于C后面的数值



实例

查看密码文件 cat /etc/passwd

例1:过滤出/etc/passwd下的root的行

grep ‘root‘ /etc/passwd

例2:显示并过滤出/etc/grpup下的root的信息

cat /etc/group | grep ‘root‘ /etc/group

例3:过滤出/etc/passwd下的root的信息并用颜色标注

grep --color ‘root‘ /etc/passwd

例4:过滤出/etc/passwd下的root的信息并用颜色标注切标注出行数

grep --color -n ‘root‘ /etc/passwd

注意:因为grep --color使用频率比较高所有可以做临时别名设置

设置方法:alias cg=‘grep --color‘

如果想要永久设置别名的方法是

vim .bashrc

添加一行 alias cg=‘grep --color‘

例5:过滤出/etc/passwd下的root的信息,并只显示行数

cg -c ‘root‘ /etc/passwd

例6:过滤出/etc/passwd下不包含root的信息的行

cg -v ‘root‘ /etc/passwd

例7:过滤出/etc/passwd下关于root的信息并多显示下面三行的信息

cg -n -A 3 ‘root‘ /etc/passwd

例8:过滤出/etc/passwd下关于root的信息并多显示上面四行的信息

cg -n -B 4 ‘root‘ /etc/passwd

例9:过滤出/etc/passwd下关于games的信息并多显示上下二行的信息

cg -n -C 2 ‘games‘ /etc/passwd

时间: 2024-08-06 16:01:55

grep过滤的详细说明和实例的相关文章

grep 过滤

在前面的内容中多次提到并用到grep命令,可见它的重要性. 要知道的是grep连同下面讲的sed, awk都是针对文本的行才操作的. 语法: grep  [-cinvABC]  'word'  filename -c :打印符合要求的行数 -i :忽略大小写 -n :在输出符合要求的行的同时连同行号一起输出 -v :打印不符合要求的行 -A :后跟一个数字(有无空格都可以),例如 –A2则表示打印符合要求的行以及下面两行 -B :后跟一个数字,例如 –B2 则表示打印符合要求的行以及上面两行 -

Nginx反向绑定域名方法和详细操作应用实例:Google和Gravatar

反向绑定域名,即将域名B绑定到域名A上,用户只要访问B就等同于进入A,内容都是由A提供,它有点像建立了一个A的镜像.什么时候要用到反向绑定域名?服务器集群和网站负载均衡时,把用户访问请求发送不同的服务器上. 关于反向绑定域名的方法部落之前也分享过好几次,本篇文章就来详细介绍一下Nginx反向绑定域名方法.之所以要用Nginx,主要在于Nginx在反向绑定域名有着天然的优势,并且功能强大,可以满足我们更多更高的应用需求. 平常我们都是用Nginx反向绑定域名来搞定无法绑定域名的空间,这次来分享一下

grep过滤用法介绍(一)

grep过滤用法介绍(一) grep主要作用是过滤出指定的行,指定的行满足什么条件,满足的条件我们就可以用一个正则表达式来表示.为了方便下面的实验进行,我们先进行cp /etc/passwd  1.txt 例如:#grep 'root'1.txt,截图如下: 匹配过滤出,有root的行! grep有一个选项很好用: 1.grep --color 'root' 1.txt 标注红色.为了方便使用,我们做一个别名操作,alias cgrep='grep --color'[删除用unalias+别名]

grep过滤用法介绍(二)

grep过滤用法介绍(二) 背景:(1)alias cgrep='grep --color' (2)cp /etc/passwd  1.txt 1. cgrep -n 'root' 1.txt 包含root所在,行数. 2. cgrep -v 'nologin' 1.txt 不包含nologin. 3. cgrep '[0-9]' 1.txt 包含所有0-9中间数字包含任意一个的行. 4. cgrep '[a-zA-Z]' 1.txt 过滤所有字母. 5.cgrep '^[a-z]' 1.txt

shell入门-grep过滤-1

正则表达式,就是一个字符串.有一定的规律.我们用指定的字符串匹配一个指定的行.指定的字符串就是正则表达式. 正则表达式有这几个工具:grep egrep sed awk 命令:gerep 说明:过滤出指定的行 选项:--color  关键字有颜色 -n  显示行号 -c   显示一共出现了多少行 -v  取反 不包含指定字符的行 -A n  n指数字 例如A2在有指定字符的行下面再显示两行 -B n  n指数字 例如B2  在有指定字符的行上面再显示两行 -C n  n指数字 例如C2 在有指定

grep过滤用法介绍(三)

grep过滤用法介绍(三) egrep是grep的扩展形式,grep能用的,egrep都能用 grep --color 'r\?o' 1.txt egrep --color 'r?o' 1.txt 这两式子相等,也就是说?或者+这样的特殊符号在egrep这里不需要脱义!,截图如下: grep -E==egrep egrep用法小结: 1. egrep --color 'root|nologin' 1.txt #head -n3 1.txt |egrep --color -n 'root|nolo

grep正则表达式原理介绍及应用实例

应用背景:我们刚刚添加了一个用户Luffy,但是不知道他的默认shell是什么. 问题:如何取出一个用户的默认shell? 解决方法: #grep '^Luffy\>' /etc/passwd | cut -d: -f7 /bin/bashf 通过上面的方法,我们就得到了Luffy这个用户的默认shell 文本搜索工具:就是要根据用户指定的文本模式,逐行的进行匹配,最终得到符合文本模式的行 grep是一个强大的文本搜索工具,下面我们就介绍一下grep的语法: grep [OPTIONS] PAT

使用 powershell 的 grep 过滤文本

使用 powershell 的 grep 过滤文本 有个log文件,大小在4M左右,要求找出里面耗时超过100s 的记录.首先想到了强大的 grep ,那么就搞起. 先在网上找一下资料,这篇文章,有几种方式: 第一种: Get-content somefile.txt|findstr "someregexp" Get-content可以换成cat,Powershell已经给他们做了个别名,可真是体谅sheller. 这种方法算是commandline和Powershell混合,因为fi

Paxos协议超级详细解释+简单实例

转载自:  https://blog.csdn.net/cnh294141800/article/details/53768464 Paxos协议超级详细解释+简单实例 Basic-Paxos算法(可以先看后面的实际例子再看前面的具体介绍部分) Paxos算法的目的 Paxos算法的目的是为了解决分布式环境下一致性的问题. 多个节点并发操纵数据,如何保证在读写过程中数据的一致性,并且解决方案要能适应分布式环境下的不可靠性(系统如何就一个值达到统一) Paxos的两个组件 Proposer 提议发