1. 简介
grep全称Global Regular Expression Print,全局正则表达式打印.
在这里面提到了三个关键词,我们逐个进行分析,这样有助于我们理解
grep这个命令的作用,1.global说明该命令可以用于所有用户(交互式
用户) 2.Regular Expression的作用想必学过基本程序的同学都知道
Regular Expression最大的作用就是按照规则(模式)去查找匹配的一
段字符串,至于如何按照规则这是后面 3.Print 按照规则搜索的的字
符串当然要打印出来了,不然这是在瞎耽误功夫
综合而论,在多个用户模式下,根据规则搜索查找想要的文本片段,将
其标准输出在交互行(当然可以重定向输出)
2. 语法
Usage:grep [OPTION]... PATTERN [FILE]...
eg:[root@CentOS ~]# grep -e "^root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
dd if=/dev/zero of=/dev/sdb bs=1M count=612
returnVal=$?
if [ $returnVal -eq 0 ]; then
echo -e 'n\np\n1\n \n+100M\nn\np\n2\n \n+512M\nw' | fdisk
/dev/sdb &> /dev/null
fi
(a)基本程序信息
'--help' 帮助信息
eg:grep --help
'-V'
'--version' 程序版本信息及版权信息[root@CentOS ~]# grep -V
GNU grep 2.6.3
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
(b) 匹配控制选项
'-e pattern' 默认选项,表明grep工具使用正则匹配规则搜索数据
eg:[root@CentOS ~]# grep -e "/bin/bash" /etc/passwd
root:x:0:0:root:/root:/bin/bash
'-i' 忽略匹配的大小写结果
eg:[root@CentOS test]# grep -i "ssh" /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
'-v' 将匹配结果反转
eg:[root@CentOS test]# grep -iv "ssh" /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...
'-w' 单词匹配(行中只要出现该匹配信息即可返回结果)
eg:# 示例程序
cpuid level :13
wp : yes
wp
wpp
flags[root@CentOS test]# grep -w "wp" b.txt
wp : yes
wp
'-x' 行匹配(行中只出现该匹配信息才返回信息)
eg:[root@CentOS test]# grep -x "wp" b.txt
wp
(c) 通用输出选项
'-c' 匹配正则表达式成功次数
eg:[root@CentOS test]# grep -c 'root' /etc/passwd
2
'--color' 匹配结果高亮标识 {never | always | auto}
eg:grep --color=auto 'root' /etc/passwd
'-m #' 匹配返回次数
eg:[root@Cen