zoukankan      html  css  js  c++  java
  • grep---Linux下文本处理五大神器之五

    转自:http://www.cnblogs.com/dong008259/archive/2011/12/12/2285264.html

    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,且之后含有零个或多个任意字符的行。

  • 相关阅读:
    java常用IO流集合用法模板
    java根据概率生成数字
    从浏览器直接转跳到APP具体页面---(魔窗)MagicWindow使用教程
    java开源即时通讯软件服务端openfire源码构建
    还在繁琐的敲MVP接口和实现类吗,教你一秒搞定。
    手把手带你走进MVP +Dagger2 + DataBinding+ Rxjava+Retrofit 的世界
    poj3666(DP+离散化)
    poj3616(LIS简单变式)
    hdoj2859(矩阵DP)
    poj1088(记忆化搜索入门题)
  • 原文地址:https://www.cnblogs.com/nigang/p/3597863.html
Copyright © 2011-2022 走看看