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