Grep命令式linux系统当中应用最广泛的命令之一,有三种形式:

1:grep 标准grep命令



2:egrep 扩展的grep



3:fgrep 允许查找一个字符串而不是一个模式,注意这里的'f'不是fast的意思,实际上他的速度跟grep差不多



实际上grep命令只应该有一种形式,但是目前还不能讲这三种grep形式整合到一起






在grep命令中输入字符串参数时最好用双引号引起来,这样做有两个原因,第一:防止被误认为shell命令,第二:可以查找包含多个单词的字符串,如“hello, kevin, shanghai"



在调用模式匹配时应该使用单引号



例如:要再file文件中查找包含483或者484的所有行



grep '48[34]' file



常用的grep命令选项:



-c 只输出匹配行的计数



-i 忽略大小写(只适用于单字符)



-n 显示匹配行及行号



-v 显示不包含匹配文本的所有行



-h 查询多文件时不显示文件名



-l 查询多文件时只输出包含指定字符的文件名






结合使用^和$可以查询空行:



grep '^$' file



查询有特殊含义的字符,必须在特殊字符前加'\'



grep '\$' file



使用grep 抽取精确匹配内容的一种更有效的方式是在要抽取字符串后加\>



例如:我要再file文件中抽取kevin字符串,应该这样做:grep 'kevin\>' file