• grep


    grep是linux中很常用的一个命令,主要功能就是进行字符串数据的对比,能使用正则表达式搜索文本,并将符合用户需求的字符串打印出来。 grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep在数据中查找出一个字符串时,是以整行为单位来进行数据选取的。

    (1)命令格式

      grep [cinvs] 'patten' filename

    (2)主要参数

    -c:只输出匹配行的计数。
    -i:不区分大小写(只适用于单字符)。
    -n:显示匹配行及行号。
    -s:不显示不存在或无匹配文本的错误信息。
    -v:显示不包含匹配文本的所有行。

    (3)patten正则表达式主要参数

      :转义字符,忽略正则表达式中特殊字符的原有含义。
    ^ :匹配以某个字符串开始的行。
    $ : 匹配以某个字符串结束的行。
    <:从匹配正则表达式的行开始。
    >:到匹配正则表达式的行结束。
    [ ]:在[]内个某单个字符,如[A]即A符合要求 。
    [ - ] :属于[ - ]所标记的范围字符,如[A-Z],即A、B、C一直到Z都符合要求 。
    .  :表示一定有1个任意字符。
    * :重复前面0个或多个字符。

      关于正则表达式的参数还有很多,这里这是列出很少的一部分,具体大家可以参照正则表达式的详解。

    (4)实例

      要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。

    $ ls -l | grep '^a'

    通过管道过滤ls -l输出的内容,只显示以a开头的行。

    $ grep 'test' aa bb cc

    显示在aa,bb,cc文件中匹配test的行。

    $ grep '{5}' aa

    显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

    $ grep 'w(es)t.*' aa

    显示所有包含west,且之后含有零个或多个任意字符的行。

  • 相关阅读:
    洛谷 P3138 [USACO16FEB]Load Balancing S(二维前缀和,离散化)
    洛谷 P1052 [NOIP2005 提高组] 过河(dp,数学)
    洛谷 P1955 [NOI2015] 程序自动分析(并查集,离散化)
    洛谷 P3258 [JLOI2014]松鼠的新家(树上差分,lca)
    洛谷 P2296 [NOIP2014 提高组] 寻找道路(反图bfs)
    洛谷 P4141 消失之物(dp方案数)
    洛谷 P5322 [BJOI2019]排兵布阵(dp,分组背包)
    回溯算法
    分治法
    分支限界法
  • 原文地址:https://www.cnblogs.com/maple42/p/3957143.html
Copyright © 2020-2023  润新知