Linux提取命令grep(一)
grep作为linux中使用频率非常高的一个命令,和 cut 命令一样都是管道命令中的一员。并且其功能也是对一行数据进行分析,从分析的数据中取出我们想要的数据。也就是相当于一个检索的功能。当然了,grep的功能要比cut强大的多了。grep检索的条件是多种多样的,甚至还可以和正则表达式合作来检索。
下面我们来看grep的用法
$ grep [选项] ‘字符串’ 文件名
说明:grep用法中,字符串就是我们想要检索的字符串;文件名就是数据来源,也就是我们需要分析的数据。因为grep可以接受来自标准输入的数据,所以一般情况下grep作为管道命令来使用。
首先我们来看一个实例,该实例不使用任何选项。查找/etc/passwd 中带有mail字符串的用户的信息:
$ grep mail /etc/passwd
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
//输出两行结果
选项一
-v 这里的v是小写,其含义是输出没有匹配到的字符串的那些数据
-s 不显示错误信息
-V 这里的v是大写,打印grep命令的信息
看下面的例子
$ grep –v mail /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
……
//显示了多行信息,唯独没有包含mail的那些行的数据。这个例子的结果和第一个例子的结果是相反的。
下面我们看-s的用法
$ grep mail /etc/passwds
grep: /etc/passwds: No such file or directory //显示错误信息,因为我们的系统中没有/etc/passwds这个文件
$ grep –s mail /etc/passwds
//这时输出的信息是空的,因为-s限制错误信息的输出
-V选项没有什么好介绍的,就是打印我们当前系统使用的grep命令的信息,其中包含其版本
$ grep –V
grep (GNU grep) 2.5.1
Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
This is free software; see the sourcefor copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
由于grep选项较多,一篇文章的篇幅较长, 所以这里我们分三篇文章来介绍。本篇就先介绍其三个选项,其他的选项在 linux提取命令grep(二) 和 linux提取命令grep(三) 中介绍。
本文转载自:迹忆客(https://www.jiyik.com)
以上是 Linux提取命令grep(一) 的全部内容, 来源链接: utcz.com/z/290112.html