Linux:文本搜索命令grep

这篇具有很好参考价值的文章主要介绍了Linux:文本搜索命令grep。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

相关阅读

Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html


        grep是类Unix系统中用于搜索并打印文件中符合某种模式(pattern)的行。grep命令的的基本语法如下所示:

grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

        grep搜索命名的输入文件,即最后的[FILE...](如果没有文件或者如果单个连字符-(-)作为文件名给出,则搜索标准输入)中的与给定PATTERN匹配的行。缺省情况下,grep会打印匹配的行。

        此外,还有两个变体命令egrep和fgrep。egrep与grep -E相同。fgrep与grep -F相同。直接调用egrep或fgrep是不建议的,但它允许以前使用了它们的老程序不加修改地运行。

        grep的选项分为几大类,下面分类介绍。

1、总体程序信息

--help

        用法:打印一条用法信息,简要地总结这些命令行选项和错误报告地址,然后退出。

-V, --version

        用法:将grep的版本号打印到标准输出流。这个版本号应该包含在所有的错误报告中(见下文)。

2、匹配器的选择

-E, --extended-regexp

        用法:将PATTERN解释为扩展正则表达式(ERE,见下文)。(-E由POSIX指定。)

-F, --fixed-strings, --fixed-regexp

        用法:将PATTERN解释为固定字符串而不是正则表达式的列表(如果有多项的话),由换行符分隔,其中任何一个都要被匹配。(-F由POSIX指定,--fixed-regexp是一个过时的别名,请不要使用它。)

-G, --basic-regexp

        用法:将PATTERN解释为基本正则表达式(BRE,见下文)。这个选项是默认的。

-P, --perl-regexp

        用法:将PATTERN解释为Perl正则表达式。这是高度实验性的,所以grep-P可能会发出未实现的特性警告。

3、匹配控制

-e PATTERN, --regexp=PATTERN

        用法:使用PATTERN作为模式。这可用于指定多个搜索模式,或保护以连字符(-)开头的模式。(-e由POSIX指定。)

-f FILE, --file=FILE

        用法:从FILE中获取模式,每行一个。空文件包含零模式,因此不匹配任何内容。(-f由POSIX指定。)

-i, --ignore-case

        用法:忽略PATTERN和输入文件中的大小写区别。(-i由POSIX指定。)

-v, --invert-match

        用法:反转匹配的含义,选择不匹配PATTERN的行。(-v由POSIX指定。)

-w, --word-regexp

        用法:用于选择只包含形成整个单词的匹配项的行。具体来说,-w选项要求匹配的子字符串要么位于行的开头或结尾,要么前面和后面有一个非单词构成字符(非字母、数字和下划线)。

-x, --line-regexp

        用法:只选择PATTERN与整行完全匹配的行。(-x由POSIX指定。)

-y

        用法:-i的废弃同义词

4、总体输出控制

-c, --count

        用法:不打印匹配的行,而是打印每个输入文件的匹配行计数。使用-v,--invert-match选项时,对不匹配的行进行计数。(-c由POSIX指定。)

--color[=WHEN], --colour[=WHEN]

        用法:用转义序列包围匹配的(非空)字符串、匹配行、上下文行、文件名、行号、字节偏移量和分隔符(用于上下文行的字段和组),以便在终端上以彩色显示它们。颜色由环境变量GREP_COLOR定义,已弃用的环境变量GREP_COLOR仍然受支持,但其设置没有优先级。WHENnever, alwaysauto

-L, --files-without-match

        用法:不打印匹配的行,而是打印不包含指定模式的文件的文件名。当使用-L选项时,grep会在搜索的文件中查找不包含指定模式的文件,然后只显示这些文件的文件名。每个文件的扫描过程会在找到第一个匹配项后停止。(-L由POSIX指定。)

-l, --files-with-matches

        用法:不打印匹配的行,而是打印包含指定模式的文件的文件名。当使用-l选项时,grep会在搜索的文件中查找不包含指定模式的文件,然后只显示这些文件的文件名。每个文件的扫描过程会在找到第一个匹配项后停止。(-l由POSIX指定。)

-m NUM, --max-count=NUM

        用法:在NUM个匹配行之后停止读取文件。如果输入是来自常规文件的标准输入,并且输出NUM个匹配行,grep将确保在退出之前将标准输入定位在最后匹配行之后,而不管是否存在后面的上下文行。这使调用进程能够恢复搜索。当grepNUM个匹配行之后停止时,它输出任何后面的上下文行。当使用-c--count选项时,grep不会输出大于NUM的计数。当使用-v--invert-match选项时,grep在输出NUM个不匹配的行后停止。

-o, --only-matching

        用法:只打印匹配行中匹配(非空)的部分,每个部分在单独的输出行上。

-q, --quiet, --silent

        用法:沉默;不要向标准输出写入任何内容。如果找到任何匹配项,即使检测到错误,也要立即以零状态退出。另请参见-s-no-messages选项。(-q由POSIX指定。)

-s, --no-messages

        用法:禁用关于不存在或不可读文件的错误消息。可移植性注意事项:与GNU grep不同,第7版Unix grep不符合POSIX,因为它缺少-q,而且它的-s选项的行为与GNU grep-q选项相似。usg风格的grep也没有-q,但它的-s选项表现得像GNU grep。可移植shell脚本应该避免使用-q-s,而应该将标准输出和错误输出重定向到/dev/null。(-s由POSIX指定。)文章来源地址https://www.toymoban.com/news/detail-726046.html

到了这里,关于Linux:文本搜索命令grep的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 搜索文件中find和grep命令的区别

    在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。 (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定

    2024年02月16日
    浏览(74)
  • Linux:管道命令与文本处理三剑客(grep、sed、awk)

    众所周知,bash命令执行的时候会输出信息,但有时这些信息必须要经过几次处理之后才能得到我们想要的格式,此时应该如何处置?这就牵涉到 管道命令(pipe) 了。管道命令使用的是 | 这个界定符号。另外,管道命令与连续执行命令是不一样的,这点下面我们会说明。 我们先

    2023年04月18日
    浏览(49)
  • Linux - grep 搜索用法

    获取到一个执行命令如 grep -rn \\\"hello\\\" /path/to/your/want/ ,在对应的目录下进行搜索,如\\\"hello\\\",但返回的结果不满意,存在未搜索到的项,后续定位发现,待搜索的是在一个软连接的文件中,所以未显示。

    2024年02月13日
    浏览(44)
  • linux 文本操作-数据过滤(grep,awk 使用)

      示例:查找行内容包含“6883”标识的的行,并且提取68开头的数据,如下图   原始数据日记文件,有些有6883,有些没有8383标识,如下: 第一步:使用 grep 过虑数据   使用 grep 过虑数据每行带有 “6883” 标识的数据:     执行后如下图,新的文本已过虑掉没有6883的数据

    2024年01月24日
    浏览(44)
  • Linux文本三剑客---grep、sed、awk

    awk、grep、sed是linux操作文本的三大利器,三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂。grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理。 1、grep 1.1 命令格式 1.2命令功能

    2024年02月14日
    浏览(50)
  • linux文本三剑客---grep,sed,awk

    目录 grep 什么是grep? grep实例演示 命令参数: 案例演示: sed 概念:  常用选项: 案例演示: awk 概念: awk常用命令选项: awk变量: 内置变量 自定义变量 awk的简单案例 在“a b c d”的d后面插入三个字符 统计tcp连接状态数量  统计日志中状态码非200的IP的次数 什么是grep?

    2024年02月13日
    浏览(54)
  • Linux文本三剑客(grep、sed、awk)

    目录 grep 1、什么是grep和rgrep? 2、使用grep 2.1、命令格式 2.2、命令功能 2.3、命令参数 3、实战演示 sed 1、认识sed 2、使用sed 2.1、命令格式 2.2、常用选项options 2.3、地址定界 2.4、编辑命令command 3、sed用法演示 3.1、常用选项用法演示 3.2、sed地址定界演示 3.3、编辑命令command演示

    2024年02月03日
    浏览(48)
  • linux中结合sed和grep的全局文本替换示例

    目录 基本语法 实战例 注意点 sed -i \\\"s/oldstring/newstring/g\\\" `grep oldstring -rl path`          -i 表示inplace edit,就地修改文件         -r 表示递归式地搜索子目录         -l 表示输出匹配的文件名         oldstring:原字符串         newstring:要替换成为的新字符串         path:

    2024年02月08日
    浏览(44)
  • Linux 文本处理三剑客:grep、sed 和 awk

    awk、grep、sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一。三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂。grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较

    2024年01月17日
    浏览(56)
  • Linux 命令:grep

    文本查找或搜索工具。用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则grep会从标准输入设备读取数据。 同样可以配合正则表达式来

    2024年01月20日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包