grep反匹配用-v , 输出匹配不到内容的行

grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep、egrep和fgrep。Windows系统下类似命令FINDSTR。

grep -v 反匹配输出,结果取反,输出不匹配的行,输出不匹配的结果,反匹配,不匹配表达式,输出与表达式不匹配的内容

用法: grep [选项]... 模式 [文件]...

在每个<文件>中查找给定<模式>。

例如:grep -i 'hello world' menu.h main.c

<模式>可以包括多个模式字符串,使用换行符进行分隔。

模式选择与解释:

-E, --extended-regexp <模式> 是扩展正则表达式

-F, --fixed-strings <模式> 是字符串

-G, --basic-regexp <模式> 是基本正则表达式

-P, --perl-regexp <模式> 是 Perl 正则表达式

-e, --regexp=<模式> 用指定的<模式>字符串来进行匹配操作

-f, --file=<文件> 从给定<文件>中取得<模式>

-i, --ignore-case 在模式和数据中忽略大小写

--no-ignore-case 不要忽略大小写(默认)

-w, --word-regexp 强制<模式>仅完全匹配字词

-x, --line-regexp 强制<模式>仅完全匹配整行

-z, --null-data 数据行以一个 0 字节结束,而非换行符

杂项:

-s, --no-messages 不显示错误信息

-v, --invert-match 选中不匹配的行

-V, --version 显示版本信息并退出

--help 显示此帮助并退出

输出控制:

-m, --max-count=<次数> 得到给定<次数>次匹配后停止

-b, --byte-offset 输出的同时打印字节偏移

-n, --line-number 输出的同时打印行号

--line-buffered 每行输出后刷新输出缓冲区

-H, --with-filename 为输出行打印文件名

-h, --no-filename 输出时不显示文件名前缀

--label=<标签> 将给定<标签>作为标准输入文件名前缀

-o, --only-matching 只显示行中非空匹配部分

-q, --quiet, --silent 不显示所有常规输出

--binary-files=TYPE 设定二进制文件的 TYPE(类型);

TYPE 可以是 'binary'、'text' 或 'without-match'

-a, --text 等同于 --binary-files=text

-I 等同于 --binary-files=without-match

-d, --directories=ACTION 读取目录的方式;

ACTION 可以是`read', `recurse',或`skip'

-D, --devices=ACTION 读取设备、先入先出队列、套接字的方式;

ACTION 可以是`read'或`skip'

-r, --recursive 等同于--directories=recurse

-R, --dereference-recursive 同上,但遍历所有符号链接

--include=GLOB 只查找匹配 GLOB(文件模式)的文件

--exclude=GLOB 跳过匹配 GLOB 的文件

--exclude-from=FILE 跳过所有匹配给定文件内容中任意模式的文件

--exclude-dir=GLOB 跳过所有匹配 GLOB 的目录

-L, --files-without-match 只打印没有匹配上的<文件>的名称

-l, --files-with-matches 只打印有匹配的<文件>的名称

-c, --count 只打印每个<文件>中的匹配行数目

-T, --initial-tab 行首制表符对齐(如有必要)

-Z, --null 在<文件>名最后打印空字符

文件控制:

-B, --before-context=NUM 打印文本及其前面NUM 行

-A, --after-context=NUM 打印文本及其后面NUM 行

-C, --context=NUM 打印NUM 行输出文本

-NUM same as --context=NUM

--group-separator=SEP print SEP on line between matches with context

--no-group-separator do not print separator for matches with context

--color[=WHEN],

--colour[=WHEN] use markers to highlight the matching strings;

WHEN is 'always', 'never', or 'auto'

-U, --binary do not strip CR characters at EOL (MSDOS/Windows)

若给定文件为“-”,则从读取标准输入。 若无文件参数,则除非处于

递归工作模式视为从“.”读取之外,一律视为从“-”读取。如果提供了少于

两个文件参数,则默认启用 -h 选项。如果有任意行被匹配则退出状态为 0,

否则为 1;如果有错误产生且未指定 -q 参数,则退出状态为 2。

用法: grep [选项]… 模式 [文件]… 在每个<文件>中查找给定<模式>。 例如:grep -i ‘hello world’ menu.h main.c <模式>可以包括多个模式字符串,使用换行符进行分隔。

模式选择与解释: -E, --extended-regexp <模式> 是扩展正则表达式 -F, --fixed-strings <模式> 是字符串 -G, --basic-regexp <模式> 是基本正则表达式 -P, --perl-regexp <模式> 是 Perl 正则表达式 -e, --regexp=<模式> 用指定的<模式>字符串来进行匹配操作 -f, --file=<文件> 从给定<文件>中取得<模式> -i, --ignore-case 在模式和数据中忽略大小写 –no-ignore-case 不要忽略大小写(默认) -w, --word-regexp 强制<模式>仅完全匹配字词 -x, --line-regexp 强制<模式>仅完全匹配整行 -z, --null-data 数据行以一个 0 字节结束,而非换行符

杂项: -s, --no-messages 不显示错误信息 -v, --invert-match 选中不匹配的行 -V, --version 显示版本信息并退出 –help 显示此帮助并退出

输出控制: -m, --max-count=<次数> 得到给定<次数>次匹配后停止 -b, --byte-offset 输出的同时打印字节偏移 -n, --line-number 输出的同时打印行号 –line-buffered 每行输出后刷新输出缓冲区 -H, --with-filename 为输出行打印文件名 -h, --no-filename 输出时不显示文件名前缀 –label=<标签> 将给定<标签>作为标准输入文件名前缀 -o, --only-matching 只显示行中非空匹配部分 -q, --quiet, --silent 不显示所有常规输出 –binary-files=TYPE 设定二进制文件的 TYPE(类型); TYPE 可以是 ‘binary’、‘text’ 或 ‘without-match’ -a, --text 等同于 --binary-files=text -I 等同于 --binary-files=without-match -d, --directories=ACTION 读取目录的方式; ACTION 可以是read', recurse’,或skip' -D, --devices=ACTION 读取设备、先入先出队列、套接字的方式; ACTION 可以是read’或`skip’ -r, --recursive 等同于–directories=recurse -R, --dereference-recursive 同上,但遍历所有符号链接 –include=GLOB 只查找匹配 GLOB(文件模式)的文件 –exclude=GLOB 跳过匹配 GLOB 的文件 –exclude-from=FILE 跳过所有匹配给定文件内容中任意模式的文件 –exclude-dir=GLOB 跳过所有匹配 GLOB 的目录 -L, --files-without-match 只打印没有匹配上的<文件>的名称 -l, --files-with-matches 只打印有匹配的<文件>的名称 -c, --count 只打印每个<文件>中的匹配行数目 -T, --initial-tab 行首制表符对齐(如有必要) -Z, --null 在<文件>名最后打印空字符

文件控制: -B, --before-context=NUM 打印文本及其前面NUM 行 -A, --after-context=NUM 打印文本及其后面NUM 行 -C, --context=NUM 打印NUM 行输出文本 -NUM same as --context=NUM –group-separator=SEP print SEP on line between matches with context –no-group-separator do not print separator for matches with context –color[=WHEN], –colour[=WHEN] use markers to highlight the matching strings; WHEN is ‘always’, ‘never’, or ‘auto’ -U, --binary do not strip CR characters at EOL (MSDOS/Windows)

若给定文件为“-”,则从读取标准输入。 若无文件参数,则除非处于 递归工作模式视为从“.”读取之外,一律视为从“-”读取。如果提供了少于 两个文件参数,则默认启用 -h 选项。如果有任意行被匹配则退出状态为 0, 否则为 1;如果有错误产生且未指定 -q 参数,则退出状态为 2。

精彩文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。