Linux系统学习之grep
回车0d和换行0a 。
grep概念理解:
GREP(Global search Regular Expression and Print out the line),即全面搜索正则表达式并把行打印出来。
从定义可以知道grep是一种文本搜索工具,能使用正则表达式搜索文本,并把匹配的行打印出来。
grep使用:
一般格式: grep [选项] [模式] [文件……] (在一个或多个文件中搜索满足模式的文本行) P.47
模式可以是字符串,变量,还可以是正则表达式。
-w:表示匹配整词,即以模式的字面含义去解析它。因此元字符不再被解释为特殊含义。
grep -w cer* 文件:搜索包含“cer*”的行,此处的*没有任何含义,就是字符串“*”。
-x:表示匹配整行,只有当文件中有整行内容与模式匹配时,grep命令才输出改行结果。
-q:grep命令默认情况下是输出结果的,使用-q选项后不会输出结果,而以退出状态($?)表示搜索结果,退出状态0表示搜索成功,1表示未搜索到满足模式的行,2表示命令或程序由于错误未能执行。
-i:不区分大小写,也可以用[]来代替。
grep -i Grep 文件
grep [Gg]rep 文件
grep '[Gg][Rr][Ee][Pp]' 文件
普通匹配与精确匹配的区别:
grep the 文件:列出所有包含“the”字符串的行
grep “\<the\>” 文件:精确匹配“the”这个单词,-w选项也用于精确匹配。
或字符:
或字符“|”是扩展的正则表达式中定义的,grep需要加上-E选项才能支持它。
grep -E “a|b” 文件 :匹配带有a或b字符串的行
grep:标准grep命令,支持基本正则表达式
egrep:扩展grep命令,支持基本和扩展正则表达式;等价于 grep -E
fgrep:快速grep命令,不支持正则表达式,按照字符串的字面意思进行匹配;等价于 grep -F