精华内容
下载资源
问答
  • grep命令
    2021-04-20 16:08:02

    grep命令

    grep是一个常用的内容查询命令。

    1.grep的AND

    grep '条件1' filename | grep '条件2'
    

    2.grep的OR,多条件的或查询

    用法1:

    grep '条件1\|条件2' filename
    

    使用转义字符将管道符转为’或’符号。

    用法2:(使用正则表达式选项)

    grep -E '条件1|条件2' filename
    

    用法3:

    egrep '条件1|条件2' filename
    

    egrep相当于grep -E。

    正则符号说明
    ^锚定行的开始 如:’^grep’匹配所有以grep开头的行。
    $锚定行的结束 如:'grep$'匹配所有以grep结尾的行。
    .匹配一个非换行符的字符 如:'gr.p’匹配gr后接一个任意字符,然后是p。
    *匹配零个或多个先前字符 如:’*grep’匹配所有一个或多个空格后紧跟grep的行。
    .*一起用代表任意字符。
    []匹配一个指定范围内的字符,如’[Gg]rep’匹配Grep和grep。
    [^]匹配一个不在指定范围内的字符
    (…)标记匹配字符,如’(love)’,love被标记为1。
    <锚定单词的开始,如:’<grep’匹配包含以grep开头的单词的行。
    >锚定单词的结束,如’grep>'匹配包含以grep结尾的单词的行。
    x{m}重复字符x,m次,如:'0{5}'匹配包含5个o的行。
    x{m,}重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。
    x{m,n}重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5–10个o的行。
    \w匹配文字和数字字符,也就是[A-Za-z0-9],
    \W\w的反置形式,匹配一个或多个非单词字符,如点号句号等。
    \b单词锁定符,如: '\bgrep\b’只匹配grep。

    3.grep的NOT,非查询(不满足当前条件的所有内容行)

    grep -v '条件' filename
    
    更多相关内容
  • 详解linux grep命令

    2021-01-10 04:43:38
    本文介绍了linux grep命令,具体如下: 1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则...
  • 做嵌入式linux开发的,相信大家对source insight 再熟悉不过了,source insight非常强大,尤其当我们的工程浩大,想要搜索某个字符串如函数、宏时,source insight就能派上用场。
  • Linux grep 命令 Linux grep 命令用于查找文件里符合条件的字符串。 grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来...
  • 主要给大家介绍了关于Linux中利用grep命令如何检索文件内容的相关资料,并且给大家简单介绍了关于Linux grep和find的区别,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
  • 这个代码是自定义的Linux下的grep命令实现文件内容的查找,并罗列行数。Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression ...
  • grep是linux的常用命令,用于对文件和文本执行重复搜索任务的Unix工具,可以通过grep命令指定特定搜索条件来搜索文件及其内容以获取有用的信息。 Usage: grep [OPTION]... PATTERN [FILE]... Search for PATTERN in...
  • linux grep 命令的详情解释 给初级者
  • 详解 Shell中的grep命令

    2020-09-15 09:10:20
    主要介绍了 Shell中的grep命令,非常不错,具有参考借鉴价值,需要的朋友参考下吧
  • linuxgrep命令.pdf

    2021-09-27 13:01:30
    linuxgrep命令.pdf
  • 【shell】grep命令

    2021-01-09 12:45:53
    本篇文章主要讲了grep命令的用法,如果会了可以忽略本文章,省下时间去学习别的知识~ 作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global ...
  • grep命令详解

    千次阅读 2021-05-10 04:59:59
    如果你是一个新手,请从头阅读这篇文章,如果你只是忘记了grep命令的一些常用选项,直接查看文章尾部的总结部分即可。先说说grep命令能做什么?我们可以使用grep命令在文本中查找指定的字符串,就像你在windows中...

    如果你是一个新手,请从头阅读这篇文章,如果你只是忘记了grep命令的一些常用选项,直接查看文章尾部的总结部分即可。

    先说说grep命令能做什么?

    我们可以使用grep命令在文本中查找指定的字符串,就像你在windows中打开txt文件,使用快捷键 “Ctrl+F” 在文本中查找某个字符串一样,说白了,可以把grep理解成字符查找工具。

    grep是Linux中最常用的”文本处理工具”之一,grep与sed、awk合称为Linux中的三剑客。

    grep的全称为: Global search Regular Expression and Print out the line

    全称中的”Global search”为全局搜索之意。

    全称中的”Regular Expression”表示正则表达式。

    所以,从grep的全称中可以了解到,grep是一个可以利用”正则表达式”进行”全局搜索”的工具,grep会在文本文件中按照指定的正则进行全局搜索,并将搜索出的行打印出来。

    当然,不使用正则表达式时也可以使用grep,但是当grep与正则表达式结合在一起时,威力更强大。

    我们先来看一个最简单的使用示例,从最简单的示例开始认识grep。

    为了实验方便,我们先准备一个测试文件,文件名为testgrep,文件内容如下。

    ab878860b3c8d3e7e2f993b5c38c9256.png

    假设,现在我们想要从testgrep文本文件中搜索包含”test”字符串的行,则可以使用如下命令

    25ef2de3e810d7c3ba7d35c60580c6dd.png

    上图中的命令表示使用grep命令,在testgrep文件中搜索包含”test”字符串的行,并将包含test字符串的行打印出来。

    于是,testgrep文件中的第一行被打印了出来,默认情况下,grep是区分大小写的,所以,文件中包含大写”TEST”的行没有被打印出来。

    grep的使用是不是很简单,我们继续聊。

    如果我们想要在搜索字符串的时候,不区分大小写,应该怎样做呢?grep很贴心,为我们准备了一个选项,使用”-i”选项,即可在搜索时不区分大小写,示例如下:

    739a38896cbdc3f37ffb2910575cfce4.png

    如上图所示,在不区分大小写的情况下,由于testgrep文本中的第一行与第五行中都包含”test”,所以,这两行都被打印了出来。

    由于testgrep文本中的内容不较少、行比较少,所以,我们能数过来,是第一行与第五行包含”test”字符,如果文本中有1000行,我们还想要知道哪行文本包含”test”字符串,则可以使用”-n”选项,表示显示打印出的行在文本中的行号,示例如下。

    c49bcb3de27f4156e527d4c68e9445a8.png

    如上图所示,grep不仅将符合条件的行输出了,同时还显示了行号,证明testgrep文本中的第1行与第5行,在不区分大小写的情况下,都包含字符串”test”。

    在centos6中,我们使用grep在文本中搜索出的行虽然会被打印了出来,但是在打印这些行时,被匹配到的关键字没有高亮显示,如果我们想要高亮显示行中的关键字,该怎么办呢?我们可以使用”–color”选项,高亮显示行中的关键字,示例如下

    注:”–color选项”是长选项

    4bec1fa4d319ee5bad22764ebd4a878f.png

    使用”–color”与使用”–color=auto”的效果相同,都表示高亮显示关键字,我比较懒,习惯使用”–color”。

    在centos7中,系统默认为grep命令配置了别名,所以在centos7中使用grep命令时,不用显式的指定”–color”选项,默认就会高亮显示被匹配到的关键字,在centos7中使用alias命令,即可查看到grep命令的别名,如下

    bdc0c5758a16bff9cdda4844dde65081.png

    可以看到,centos7中为grep命令配置的别名中,默认包含了–color选项,所以,不用显示指定,也可高亮显示。

    所以,我们也可以在centos6中借鉴这种方法。

    41849b333df33665fa8d19e527192da7.png

    上图中,testgrep文本中一共有两行包含”test”字符串,如果我们只想知道有多少行包含指定的字符串,而不在乎哪些行包含这些字符串,我们可以使用如下命令,获取到符合条件的总行数。

    19425ca1ee080d1007588f5e92fc3613.png

    没错,使用”-c”选项即可只统计符合条件的总行数,而不会打印出行。

    之前的示例中,包含关键词的行都会被打印出来,整行都会被打印出来,如果我们只想看被匹配到的关键字,不想整行都被打印出来,可以吗?必须的,使用”-o”选项即可只打印出匹配到的关机字,而不打印出整行,示例如下。

    a46ca8c7d3ea759950a4bfe1e0158a74.png

    如上图所示,使用”-o”选项,可以只显示被匹配到的关键字,而不是讲整行的内容都输出。

    但是需要注意,”-o”选项会把每个匹配到的关键字都单独显示在一行中进行输出,什么意思呢?看如下示例即可明白。

    e347351c936a62d279039961b7f0d58c.png

    如上图所示,当没有使用”-o”选项时,包含”123″字符串的行都会被打印出来,当同一行中包含多个”123″时,所在行会被打印出来,对应的关键字也会高亮显示,当使用了”-o”选项时,每个被匹配到的关键字都会被单独打印在一行中,如上图所示,第三个”123″与第四个”123″都属于第10行的文本,但是它们仍然各自独占一行的输出了。

    其实,我们在使用grep命令搜索文本时,往往有这种需求:在找到对应的关键字时,同时需要显示关键字附近的信息,什么意思呢?

    我们来看一个场景,就能明白,我们新建了一个测试文件:testgrep1,测试文件内容如下

    a0ff3b6c97b3fc27b81c7d412db5edd3.png

    假设,我们想从testgrep1文件中找出”年龄为18″的人,我们该怎么找呢?你可能会尝试使用如下命令。

    1fb8af01ef78369aa997b533dbfe8467.png

    如上图所示,我们是匹配到了”年龄:18″的行,但是我们并不能从结果中得知年龄为18的人的姓名,因为姓名与年龄并不在一行中,那么我们该怎么办呢?

    我们可以使用”-B”选项,显示符合条件的行之前的行,”B”有before之意,示例如下

    16003eaa2a96ba6a50cd9de939ae6468.png

    如上图所示,包含字符串”年龄:18″的行被高亮输出了,同时,符合条件的行”之前的一行”也被打印了出来,这时,我们就能从结果中得知,朱双印今年18岁,王尼美今年18岁。

    没错,上例中的”-B1″选项表示显示符合条件的行的同时还显示之前的1行,举一反三,”-B5″代表同时显示之前的5行,”-B3″代表同时显示之前的3行,”-B”选项的后面必须有数字,否则会报错。

    与”-B”选项对应的选项是”-A”选项,”-B”有Before之意,”-A”有After之意,聪明如你,一定已经猜到了”-A”的含义,没错,”-A”代表显示符合条件的行的同时,还要显示之后的行,”-A3″表示同时显示符合条件的行之后的3行,我就不再赘述了。

    说了”-A”,说了”-B”,现在说说”-C”,”-C”选项可以理解为”-A与-B”的结合,”-C”选项表示在显示符合条件的行的同时,也会显示其前后的行,如”-C1″,”-C1″表示打印符合条件的行的同时,也打印出之前的一行与之后的一行,”-C”有Context之意(上下文之意),示例如下。

    5dc271328045bdd65a2097d84a859758.png

    这样我们就能看到”年龄是18岁”的人的所有信息了。

    有的时候,我们往往需要进行所谓的”精确匹配”,但是使用之前的方法似乎无法满足我们,示例如下。

    3789b3698fdd8b85ec91d2d25ba9ba36.png

    上图中,当我们在文本中搜索”zsy”字符串的时候,”zsy”、”zsythink”、”123zsy123″所在的行都被匹配到了,因为”zsythink”中也包含了”zsy”,所以也被匹配到了,但是当我们想要”精确匹配”zsy字符串的时候,按照上例中的方法就无法做到了,所谓的精确匹配,就是”zsy”作为一个独立的单词存在,而不是包含于某个字符串中,那么,如果有这种需求,我们怎么办呢?使用”-w”选项可以实现我们的需求,示例如下。

    34998d5f53ad4b029393ee9b3ab85bde.png

    如上图所示,只有”zsy”作为一个独立的单词存在的时候,才会被匹配到,”zsy”包含于某个字符串的时候,则不会被匹配到,这就是所谓的精确匹配,”-w”有word之意,表示搜索的字符串作为一个独立的单词时才会被匹配到。

    有的时候,我们需要反向查找,比如,查找”不包含某个字符串”的行,这个时候,我们需要用到”-v”选项,示例如下。

    a868732cabc4d1657645628e1ae73147.png

    上例表示查找出文本中不包含”zsy”字符串的行。

    某些场景下,我们可能想要同时从多个目标中匹配,什么意思呢?看了示例就秒懂,示例如下。

    47cfa5899f5c227966096d8f83463cb6.png

    上例中,我们同时在文本中搜索了”abc”字符串与”test”字符串,包含这两个字符串中任意一个的行都会被打印出来,没错,就像上图中的示例一样,使用”-e”选项可以同时匹配多个目标,多个目标之间存在”或”关系,即匹配其中的任意一个都算作匹配成功。

    在写脚本时,你可能只是想要利用grep判断文本中是否存在某个字符串,你只关心有没有匹配到,而不关心匹配到的内容,你只关心有,或者没有,这时,我们可以使用grep的静默模式,示例如下。

    12575150f77b772564af787b478ecf1b.png

    当使用”-q”选项时,表示grep使用静默模式,静默模式下grep不会输入任何信息,无论是否匹配到指定的字符串,都不会输出任何信息,所以,我们需要配合”echo $?”命令,查看命令的执行状态,如果返回值为0,证明上一条grep命令匹配到了指定的字符串,如果返回值为1,则证明上一条grep命令没有匹配到指定的字符串,就像上图示例中显示的那样,静默模式下,grep没有输出任何信息,当我们在testgrep文本中查找”test”字符串时,可以匹配到结果,当在文本中查找”ttttttttttttt”字符串的时候,没有匹配到结果,所以,我们只关心有没有匹配到指定字符时,可以使用”-q”选项,但是需要配合”echo $?”命令查看执行状态。

    注:如果你对正则表达式还不熟悉,可以先跳过下面的示例,本博客中会对”正则表达式”进行详细总结。

    正则表达式系列文章直达链接:正则表达式详解

    文章开头说了,grep可以利用正则表达式进行搜索,但是之前的举例中,grep都没有使用正则表达式,只是纯粹的去查找一些字符串,这次,我们使用grep命令,配合正则表达式,来查找我们想要的目标。

    比如,我们想要查找某个文本中的合法邮箱,示例如下

    c233d75f5cb4140bc5077432fd473b02.png

    眼尖的你肯定发现了,上图中的正则表达式为扩展正则表达式,而不是基础正则表达式,所以,在上述命令中,我使用了”-E”选项。

    在使用”-E”选项时,grep才支持”扩展正则表达式”,不使用”-E”选项时,grep默认只支持”基本正则表达式”。

    不同的开发语言中,正则表达式的规则可能略有不同,我们在使用grep时,可以使用”-P”选项,指明使用perl兼容的正则表达式。

    示例如下:

    fd4a3edd81edad0065928d4ae8660ca0.png

    好了,grep的常用选项我们已经总结完毕,剩下需要做的就是不断的练习了。

    其实,除了grep命令,其实还有egrep命令,还有fgrep命令(fast grep),它们有各自的特点。

    grep:支持基本正则表达式

    egrep:支持扩展正则表达式,相当于grep -E

    fgrep:不支持正则表达式,只能匹配写死的字符串,但是速度奇快,效率高,fastgrep

    总结

    为了方便以后回顾,将grep的常用选项总结如下

    –color=auto 或者 –color:表示对匹配到的文本着色显示

    -i:在搜索的时候忽略大小写

    -n:显示结果所在行号

    -c:统计匹配到的行数,注意,是匹配到的总行数,不是匹配到的次数

    -o:只显示符合条件的字符串,但是不整行显示,每个符合条件的字符串单独显示一行

    -v:输出不带关键字的行(反向查询,反向匹配)

    -w:匹配整个单词,如果是字符串中包含这个单词,则不作匹配

    -Ax:在输出的时候包含结果所在行之后的指定行数,这里指之后的x行,A:after

    -Bx:在输出的时候包含结果所在行之前的指定行数,这里指之前的x行,B:before

    -Cx:在输出的时候包含结果所在行之前和之后的指定行数,这里指之前和之后的x行,C:context

    -e:实现多个选项的匹配,逻辑or关系

    -q:静默模式,不输出任何信息,当我们只关心有没有匹配到,却不关心匹配到什么内容时,我们可以使用此命令,然后,使用”echo $?”查看是否匹配到,0表示匹配到,1表示没有匹配到。

    -P:表示使用兼容perl的正则引擎。

    -E:使用扩展正则表达式,而不是基本正则表达式,在使用”-E”选项时,相当于使用egrep。

    希望这篇文章能对你有所帮助~~~客官常来捧场哦,么么哒~~~~~

    展开全文
  • 实现grep命令

    2018-09-12 17:17:13
    自己实现的grep,相对于初学者是较好的学习资源
  • 使用Linux命令中的grep命令来分析网站日志的方法和技巧,合并网站日志,拆分我们想要的日志
  • Shell grep命令详解

    2021-01-07 09:31:03
    一、grep命令 grep命令是Globally search a Regular Expression and Print out the line的缩写 作用:grep命令是一种强大的文本搜索工具,根据用户指定的“模式”对目标文本进行匹配检查,打印匹配得到的行 模式...
  • 介绍linux下的grep关键查询的命令用法
  • grep命令的选项用于对搜索过程的补充,而其命令的模式十分灵活,可以是变量、字符串、正则表达式。需要注意的是:一当模式中包含了空格,务必要用双引号将其引起来。 linux系统支持三种形式的grep命令,大儿子就是...
  • Windows 下使用 grep 命令

    1. 安装git

    • 安装bash的方式安装,会将linux相关的小命令都安装成功

    2. 使用grep命令

    • 可以打开git bash,就可以使用find/grep等命令了。

    展开全文
  • 本文主要对linux-shell脚本命令中的grep命令进行简介,希望对您有所帮助。
  • 在Linux系统下grep命令的功能非常的强大,其作用是查找整个文件里符合条件的关键字,grep命令在查找关键字时,只要查找到包含该关键字的行,就会把该行所有的内容全部显示出来。在使用grep命令时,如果配合管道符...
  • grep 命令介绍

    2022-04-14 06:22:55
    grep 命令介绍 grep 查找文件里符合条件的字符串,常与管道符|、cat、ps一起使用;主要用于查找文件中符合条件的字符串、统计文件中符合条件的字符串行数、grep 不显示自身进程 grep 常用命令参数 -c:统计...

    grep 命令介绍

    grep 查找文件里符合条件的字符串,常与管道符|catps一起使用;主要用于查找文件中符合条件的字符串、统计文件中符合条件的字符串行数、grep 不显示自身进程

    grep 常用命令参数

    -c:统计符合字符串条件的行数
    -v:显示不包括文本的所有信息
    

    grep 常用命令

    过滤test.txt文件中hello内容

     grep hello test.txt
    

    说明:

    • hello 关键字

    • test.txt 文件名

    统计test.txt中hello内容的行数

    grep -c hello test.txt
    

    说明:

    • hello 关键字

    • test.txt 文件名

    • -c 统计符合字符串条件的行数

    grep、cat、管道符配合使用

    cat test.txt |grep hello
    

    说明:过滤test.txt文件中hello内容

    • hello 关键字

    • test.txt 文件名

    • cat 打印文件内容

    • |管道符,将一个命令的输出作为另外一个命令的输入

    grep、ps、管道符配合使用

    ps -ef|grep ssh
    

    说明:过滤ssh进程信息

    • ps 打印进程信息

    • ssh 过滤关键字

    • |管道符,将一个命令的输出作为另外一个命令的输入

    去掉grep自身进程

    ps -ef|grep ssh|grep -v grep
    

    说明:过滤ssh进程信息,并去除最后一行的grep信息

    • ps 打印进程信息

    • ssh 过滤关键字

    • |管道符,将一个命令的输出作为另外一个命令的输入

    • -v 显示排除grep关键字的所有信息

    展开全文
  • Linux怎么使用grep命令

    千次阅读 2021-05-10 04:31:47
    接下来是小编为大家收集的Linux怎么使用grep命令,欢迎大家阅读:Linux怎么使用grep命令一、grep命令是什么1、Linux系统中grep命令是一种强大的文本搜索工具,全称是Global Regular Expression Print,它能在文件中...
  • grep 命令详解

    千次阅读 2020-06-04 09:55:17
    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 2.格式 grep ...
  • grep命令详细讲解

    万次阅读 2020-12-01 21:08:38
    一:grep命令的基本概念和用途 grep命令是linux中一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 在一个或多个文件中搜素字符串模式,如果字符串模式包括空格,也必须被引用,模式后的...
  • Ubuntu 自定义grep命令

    千次阅读 2022-04-06 19:31:14
    then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' alias grep='grep --...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 658,685
精华内容 263,474
关键字:

grep命令

友情链接: nr thng.rar