简介
grep是Global search Regular Expression and Print out the line的简称,它能使用正则表达式搜索文本并把匹配的行打印出来。
基本用法
一般格式为:
grep [选项] [模式] [文件...]
1.文件名可以有多个,搜索到的结果被打印到屏幕,不影响原文件的内容。
2.模式可以为字符串,可以是变量,也可以为正则表达式。
3.选项用于对搜索过程的补充说明。
选项
需要用时 man grep 查看一下选项即可
-?
同时显示匹配行上下的?行,如:grep -2 pattern filename同时显示匹配行的上下2行。
-a, --text
等价于匹配text,用于(Binary file (standard input) matches)报错
-b,--byte-offset
打印匹配行前面打印该行所在的块号码。
-c,--count
只打印匹配的行数,不显示匹配的内容。
-f File,--file=File
从文件中提取模板。空文件中包含0个模板,所以什么都不匹配。
-h,--no-filename
当搜索多个文件时,不显示匹配文件名前缀。
-i,--ignore-case
忽略大小写差别。
-o, --only-matching
只显示正则表达式匹配的部分。(show only the part of a line matching PATTERN)
-q,--quiet
取消显示,只返回退出状态。0则表示找到了匹配的行。
-l,--files-with-matches
打印匹配模板的文件清单。
-L,--files-without-match
打印不匹配模板的文件清单。
-n,--line-number
在匹配的行前面打印行号。
-s,--silent
-v,--revert-match
反检索,只显示不匹配的行。
-w,--word-regexp
-R, -r, --recursive
递归的读取目录下的所有文件,包括子目录。 比如
grep -R 'pattern' test会在 test 及其子目录下的所有文件中,匹配 pattern。
-V,--version
显示软件版本信息。