使用Grep命令查找多个字符串大家好,我是良旭!今天给大家介绍一个非常有用的技巧,就是使用grep命令查找多个字符串。简单地说,grep命令可以理解为一个强大的命令行工具,可以用来在一个或多个输入文件中搜索与正则表达式匹配的文本,然后将每个匹配的文本输出到标准输出。写成格式。因此,梁旭将与大家分享如何使用grep命令的多种搜索模式,使用grep搜索多个字符串:多模式Grep命令grep命令支持三种正则表达式语法:Basic、Extended和Perl-compatible。当没有指定正则表达式类型时,grep命令默认搜索模式为基本正则表达式。要搜索多个匹配模式,您可以使用OR(交替)运算符。我们可以使用OR运算符|(pipe)指定不同的匹配项,可以是文本字符串或表达式集。值得注意的是,该运算符在所有正则表达式运算符中的优先级最低。使用grep命令搜索具有基本正则表达式的多个匹配模式。输出,单引号括起来的内容无论是常量还是变量都不会被替换。使用基本正则表达式时,元字符被解释为文字字符。要保留元字符的特殊含义,必须使用反斜杠()对它们进行转义。这就是我们转义OR运算符(|)的原因。要将模式解释为扩展的正则表达式,请调用grep-E(或--extended-regexp)选项。使用扩展正则表达式时,OR运算符(|)不需要转义:$grep-E'pattern1|pattern2'fileGrep命令搜索多个字符串通常我们认为文字字符串是最基本的模式。接下来我们将举例搜索出现在用户日志错误文件中的所有fatal、error和critical字符串。语法如下:$grep'fatal\|error\|critical'/var/log/nginx/error.log另外需要注意的是,如果要查找的字符串中包含空格,需要用双引号括起来.下面是使用扩展正则表达式的相同示例,它不需要转义字符:$grep-E'fatal|error|critical'/var/log/nginx/error.log默认情况下,grep命令是区分大小写的。要在搜索时忽略大小写,请使用-i(或--ignore-case)选项调用grep,例如:$grep-i'fatal|error|critical'/var/log/nginx/error.log当你当你只想搜索一个词,比如你要搜索error这个词,grep命令会输出所有包含error字符串的行,即不仅会输出包含error这个词的行,还会输出包含error这个词的行包含非错误如errorless或antierrorists之类的一排单词是极其不便的。因此,要仅返回指定字符串为整个单词的行,或由非单词字符包围的行,您可以使用带有-w(或--word-regexp)选项的grep:$grep-w'fatal|error|critical'/var/log/nginx/error.log值得注意的是,单词字符包括字母、数字字符(如a-z、a-Z和0-9)和下划线(_),所有其他字符均视为非单词人物。综上所述,在我们的工作中,经常需要使用grep命令来搜索字符串。如果你学会了使用grep搜索多个字符串的技巧,你一定会有机会使用它的。其实grep命令远不止本文提到的功能。如果你对grep命令的功能有任何疑问或者想了解它的其他功能,欢迎留言告诉我!最后,最近有很多朋友找我要一份Linux学习路线图,所以我结合自己的经验,利用业余时间熬夜一个月,整理了一本电子书。无论你是面试还是自我提升,相信都会对你有所帮助!免费送给大家,只求大家给我点个赞!电子书|LinuxDevelopmentLearningRoadmap也希望有小伙伴可以和我一起把这本电子书做得更完美!获得?希望老铁们来个三连击,让更多人看到这篇文章。推荐阅读:干货|程序员和高级架构师免费发送工件的必备资源|支持搜索的资源网站
