zoukankan      html  css  js  c++  java
  • grep用法小结

    grep 选项注解

    NAME
    grep, egrep, fgrep - print lines matching a pattern

    SYNOPSIS
    grep [options] PATTERN [FILE...]
    grep [options] [-e PATTERN | -f FILE] [FILE...]

    -A NUM --after-context=NUM
    除了打印本身匹配的行外,别外打印出匹配行后的 NUM 行,多组匹配之间用 -- 分割。
    FILE: text
    mole-mac ~$ cat text
    a
    b
    c
    a
    f
    c
    mole-mac ~$ grep -A 1 '^a' text
    a
    b
    --
    a
    f

    -B NUM, --before-context=NUM
    参见 -A,只是打印是匹配行之前的 NUM 行。

    -C NUM, --context=NUM
    参见 -A,只是打印匹配行前后 NUM 行。

    -a, --text
    将二进制文件作为文本文件处理

    -b, --byte-offset
    打印匹配行之前的字节数
    File: text
    mole-mac ~$ cat text  
    cat text
    aac
    bbc
    jjc
    ccc
    aac
    ffc
    ccc
    mole-mac ~$ grep -b '^aa' text
    0:aac
    17:aac

    --colour[=WHEN] --color[=WHEN]
    对匹配的字符进颜色显示,可选值为 `never', `always', or `auto',涉及环境变量 GREP_COLOR。

    -c --count
    抑制 grep 正常输出,只是输出每个文件匹配的行数。如果与 -v, --invert-match 并用,则输出非匹配行数。

    -d ACTION --directories=ACTION
    如果输入的文件是一个目录,使用 ACTION 处理。默认 ACTION 为 read, 意思是如果目录为原始文件则目录就会被读取。
    如果 ACTION 为 skip,目录则会被略过。
    如果 ACTION 为 recurse,grep 则会递归读取每个目录下的所有文件,这一行为等同于 -r 显项。

    -E --extended-regexp
    将 PATTERN 解为扩展正则表达式。

    -e PATTERN --regexp=PATTERN
    对于以 - 开头 PATTERN 起保护作用。

    -F --fixed-strings
    将 PATTERN 解释以换行符隔开多组字符串(注意:只是字符串,元字符在此处只作字符串解释),只要其中一个表达式能匹配,则该行就能匹配。
    mole-mac test$ grep -F "a.c$
    bb
    c " text
    aac
    bbc

    -f FILE --file=FILE
    从文件中获取 PATTERN,一行为一个表达示。空文件表示0个表达示,所以什么也不匹配。

    -G, --basic-regexp
    将 PATTERN 解释为基本表达式,grep 默认为此情况。

    -H, --with-filename
    输出每个匹配行所在的文件。

    -h --no-filename
    当对多个文件进行查找时,此选项可以不输出文件名

    -i, --ignore-case
    匹配时忽略大小写。

    -L, --files-without-match
    输出没有匹配行的文件名,与 -l 相反。

    -l, --files-with-matches
    输出有匹配行的文件名,与 -L 相反。

    -m NUM, --max-count=NUM
    当匹配NUM行后,grep 不再对文件其余部分继续匹配。如果与-v连用,则刚好相反。

    --mmap
    用 mmap 系统调用取代默认的 read 系统调用,有时可提高性能,但可能会产生一些副作用。

    -n, --line-number
    在每行匹配的开头输出此行在文件中的行号。

    -o, --only-matching
    仅仅输出匹配 PATTERN 的字符串,而不是整行。

    --label=LABEL
    Displays input actually coming from standard input as input coming from file LABEL.  This is especially useful for tools  like zgrep, e.g.  gzip -cd foo.gz |grep --label=foo something

    --line-buffered
    打开行缓冲,提高性能。

    -P, --perl-regexp
    将 PATTERN 作为 perl 规则的表达式进行解释。如果对 perl 或 php 语言比较熟悉,值得用此选项。

    -q, --quiet, --silent
    不输任何信息,如果匹配到,则返回0,否则返回 1。在编写 shell 脚本时比较有用,通过 $? 获取结果值。

    -R, -r, --recursive
    递归匹配目录下的每个文件。

    --include=PATTERN
    grep 递归读取目录下能够匹配 --include=PATTERN (PATTERN,只是shell简单的文件元字符扩展) 表达式的文件作为输入文件。

    --exclude=PATTERN
    与 --include=PATTER 相反

    -U, --binary
    除了在window平台用一定用处外,在其它类 unix 平台下无用。

    -u, --unix-byte-offsets
    与 -U --binary 差不多。

    -V, --version
    版本信息。

    -v, --invert-match
    反转匹配,捕获非匹配。

    -w, --word-regexp
    类似于正则表达式中的 \b 单词边界,设置此选项后,就是在每行中某个词要与 PATTERN 完全匹配;不匹配包含该词的行。

    -x, --line-regexp
    与 -w 类似,只不过这里要匹配整个行。

    -y     Obsolete synonym for -i.

    -Z -NULL 类似于find -print0 选项。

    grep 正则表达式与 perl 相似。

  • 相关阅读:
    分享一些优化博客的心得
    HTTP相关整理(上)
    正则&highlight高亮实现(干货)
    通过一个demo了解Redux
    升级ChinaCock10.3.3激情版3注意事项
    解决uniDAC超时问题:已超过了锁请求超时时段。
    kbmMWSmartBind实现ListView绑定数据集进阶篇(一)
    通过输出日志到文件来检查app闪退原因
    VertScrollBox不能滑动
    使用kbmMW SmartBinding经验几则
  • 原文地址:https://www.cnblogs.com/276815076/p/2293249.html
Copyright © 2011-2022 走看看