迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

Linux提取命令grep(三)

作者:迹忆 最近更新:2022/12/11 浏览次数:

本篇承接 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的介绍就到这里。如果有不全的地方还请大家留言补充。希望本文对大家有所帮助。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便