Linux——bash命令(grep文本搜索工具命令)

以下为学习整理内容,供自己翻阅和他人翻阅使用

grep查找关键词,并打印匹配的行

说明:
grep是一个功能强大的程序,它用来在文件中查找匹配文本

用法: grep [选项] PATTERN/regex  [FILE...]
在每个 FILE 或是标准输入中查找 PATTERN。
默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。
例如: grep -i 'hello world' menu.h main.c
选项:
	正则表达式选择
	-G 使用基本正则表达式, --basic-regexp
	-e 使用 PATTERN 来进行匹配操作, --regexp=PATTERN (默认)
	-E 使用可扩展的正则表达式, --extended-regexp
	-P 使用Perl 正则表达式, --perl-regexp  
	-F 使用断行符进行分隔进行匹配的定长字符串, --fixed-strings
	-f 从 FILE 中取得 PATTERN, --file=FILE 
	-i 匹配忽略大小写,--ignore-case
	-w 强制 PATTERN 仅完全匹配字词, --word-regexp
	-x 强制 PATTERN 仅完全匹配一行, --line-regexp
	-z 一个 0 字节的数据行,但不是空行, --null-data
	杂项
	-v 匹配取反,--invert-match
	-s 禁止错误信息输出, --no-messages
	--color=auto 标记匹配颜色
	输出控制
	-m NUM 次匹配后停止, --max-count=NUM
	-c 输出匹配的数目,--count
	-l 输出匹配项的文件名,--files-with-matches
	-r 对文件夹进行递归查询 但是对符号链接(symbolic links)的文件只有在命令里面才检索 如果没有文件就是默认当前文件夹, --recursive 
	-L 与-l相反,但输出的不包含匹配项的文件名,--files-without-match
	-n 为匹配行显示在文件中的行号,--line-number
	-h 多文件搜索时,抑制文件名的输出,--no-filename
	-H 与-h选项相反
	文件控制
	-B n 打印匹配搜索后的内容之前的n行一并输出打印, --before-context=NUM
	-A n 打印匹配搜索后的内容之后的n行一并输出打印, --after-context=NUM
	-C n 打印匹配搜索后的内容之前之后的n行一并输出打印, --context=NUM

案例截图:

使用注意点
‘egrep’即‘grep -E’。‘fgrep’即‘grep -F’。
若FILE 为 -,将读取标准输入。不带FILE,读取当前目录,除非命令行中指定了-r 选项。
如果少于两个FILE 参数,就要默认使用-h 参数。
如果有任意行被匹配,那退出状态为 0,否则为 1;
如果有错误产生,且未指定 -q 参数,那退出状态为 2。
-l -L选项使用
Linux——bash命令(grep文本搜索工具命令)_第1张图片-n选项使用
Linux——bash命令(grep文本搜索工具命令)_第2张图片
-c 选项使用
在这里插入图片描述
-h选项的使用
Linux——bash命令(grep文本搜索工具命令)_第3张图片

你可能感兴趣的:(Linux)