zoukankan      html  css  js  c++  java
  • linux grep命令使用详解

    grep是我们最常用的命令之一,但是正真用的熟的不多,把基础命令记牢固,能帮我们节约很多时间

    grep的option

    -A 1 表示找到所有匹配行,并显示所有匹配行后的一行
    在错误日志查找时还是很有用

    -B 1 表示找到所有匹配行,并显示所有匹配行的前面一行

    -C 1表示找到所有匹配行,并显示所有匹配行的前一行,后一行

    -a 表示把所有文件当作ASCII文件来处理 搜索二进制文件
    //a.pcap是一个tcpdump生成的文件,为binary文件,使用grep不能搜索

    -b 表示显示match的字符串在文件中的offset

    -c 显示有多少行match

    –color 是把match的字符用不同颜色标示出来

    -e 后面跟一个正则表达式,指定多个正则表达式的时候很有用

    -f可以指定pattern在我们的文件中 pattern文件中的每一行都会来进行匹配

    -m 最多匹配几个后,就停止,这样速度会比较快

    -n 匹配之后,在前面打印行号,这个还是有用的

    -o 只打印匹配的内容

    -R 搜索子目录
    $ll
    total 208
    -rw-r–r– 1 * * 91868 5 1 23:05 a.pcap
    -rw-r–r– 1 * * 31 5 2 22:39 a.txt
    -rw-r–r– 1 * * 4 5 1 23:18 b.txt
    drwxr-xr-x 3 * * 102 5 4 18:58 dir1 //这是一个目录
    -rw-r–r– 1 * * 4 5 4 18:49 pattern.txt

    //只能搜索当前目录

    -v invert查找 下面为在a.txt中,查找不包含”a”的行 这个命令会经常使用

    -w 查找一个词,

    grep 正则表达式

    ^pattern 表示开头处开始匹配

    . 为匹配任意单个字符

    “r.*h”
    //匹配一个字符串,其中有r,有h,且r在前,h在后,且r和h之间可以间隔任意长度的任意字符串,sat考试培训当然也可以没有间隔

    //匹配一个字符串,其中r是第一个字符,h是最后一个字符,且r和h之间可以间隔任意长度的任意字符串,当然也可以没有间隔

    匹配指定范围内的任意字符 [e] 匹配任意单个字符
    $ echo “redh” |grep “[e]”
    redh

    $ echo “redh” |grep “[s]”

    匹配指定范围内的任意字符 [eh] 匹配e或h

    匹配指定范围内的任意字符 [a-z],[1-3a-b] [1-3a-bX-Z]

    //[^] 匹配指定范围外的字符

    [[:space:]] 匹配空白字符

    ? 表示匹配前面的字符串0次或1次

    {m,n} 匹配前面的字符串m到n次

    {2,} 匹配前面的字符串至少两次

    //

    //() 用来进行分组, 下面这个就是匹配带有re和rea的

    + 表示匹配前面的字符串一次或多次

    | 表示或的关系 

  • 相关阅读:
    C指针QQ群问答
    英语音标与汉语拼音
    jquery插件validation
    ORACLE纵向表转换为横向表写法
    安装vagrant&virtualBox
    tp5 上传视频到七牛云
    解决VirtualBox错误:“FATAL:No bootable medium found!”
    PyCharm切换Python版本
    七牛云的使用
    一起谈.NET技术,C#中int和System.Int32理解总结 狼人:
  • 原文地址:https://www.cnblogs.com/zhangyanran/p/10037752.html
Copyright © 2011-2022 走看看