Linux提取命令grep(三)

本篇承接 linux提取命令grep(一)和 linux提取命令grep(二) ,继续介绍grep命令的选项及其用法。

选项三

-i 对检索的的字符串不区分大小写

$ grep Mail /etc/passwd

# 大写的M检索的结果为空,因为默认是区分大小写的

$ grep Mail –i /etc/passwd

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

# -i 使其不区分大小写

-w 小写的w。强制匹配整个单词

$ grep mail –w /etc/passwd

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

# 这时只有一行数据

-x 小写的x。 强制匹配整行

$ grep mail –x /etc/passwd

# 结果为空

-f 指定检索字符串所在的文件,读取该文件的每一行的内容作为检索的字符串。

文件 /reg.txt

mail

nobody

使用该文件作为-f指定的文件

$ grep –f /reg.txt /etc/passwd

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

当然文件中的内容也可以是正则表达式

例如 将内容 nobody 改成 ^nobody(以nobody开头)

$ grep –f /reg.txt /etc/passwd

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

我们看到结果中少了一条数据。

-E 指定检索的字符串为正则表达式模式

$ grep mail /etc/passwd

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

$ grep ‘(mail)’ /etc/passwd

# 结果为空 这里grep将’(mail)’作为一个字符串来进行检索,检索到的结果为空

$ grep –E ‘(mail)’ /etc/passwd

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

# 使用-E 指定’(mail)’为正则表达式,所以检索出来两条数据

-e 指定字符串作为查找内容的检索条件,其不一样的地方是可以指定多个。

$ grep mail nobody /etc/passwd # 我们的原意是想在passwd中检索mail和nobody

grep: nobody: No such file or directory

/etc/passwd:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

/etc/passwd:mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

# 但是我们看报错了,这时我们可以用-e来指定

$ grep –e mail –e nobody /etc/passwd

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

我们看结果已经出来了。是不是很好用

-G 指定检索条件是一个基本的正则表达式

-P 指定检索的条件是perl正则表达式

好了,关于grep的介绍就到这里。如果有不全的地方还请大家留言补充。希望本文对大家有所帮助。

本文转载自:迹忆客(https://www.jiyik.com)

以上是 Linux提取命令grep(三) 的全部内容, 来源链接: utcz.com/z/290114.html

回到顶部