grep程序主要用来匹配文本
传统上有三种程序可以用来查找整个文本文件:
grep
最早的文本匹配程序,使用POSIX定义的基本正则表达式(Basic Regular Expression,BRE)
egrep
扩展式grep(Extended grep),使用扩展正则表达式(Extended Regular Expression,ERE),
功能更强大,消耗运算资源更多
fgrep
快速grep(Fast grep),用于匹配固定字符串而非正则表达式,使用优化的算法能更有效地匹配固定字符串
后来POSIX标准将三个程序整合成grep程序,通过不同选项控制行为
grep
语法
grep [ options . . . ] pattern-spec [ files . . . ]
主要选项
-E 使用扩展正则表达式,相当于传统的egrep
-F 匹配固定字符串,相当于fgrep,当匹配的模式中不含正则表达式元字符时grep相当于默认使用-F
-e 指定其参数为模式,用于匹配以‘-’开头的模式
-f pat-file 从文件中读取模式进行匹配
-i 匹配忽略字母大小写
-l 查询多文件时只输出包含匹配字符的文件名,而不是打印匹配的行
-q 不将匹配的行写入标准输出
-s 不显示错误信息
-v 显示不匹配的行