grep & awk

==============================
    grep [选项]基本正则表达式[文件]

1.    选项
    -c    只输出匹配行的计数
    -i    不区分大小写(单字符)
    -h    不显示文件名(多文件时)
    -l    只输出文件名(多文件时)
    -n    显示匹配行及行号
    -s    不显示错误信息
    -v    显示不包含匹配文本的所有行

2.    查询多个文件
    grep "sort" *.doc
    grep "sort" *

3.    使用正则表达式,最好用''单引号括起来
    grep '[Ss]ort' *.doc

4.    可以使用管道命令,| 左边的输出为右边的输入
    grep '[Ss]ept' data.f | grep 483




awk
==============================
有三种方式调用awk
1. 命令行方式
    awk [-F field-separator] 'commands' input-file(s)
    // [-F 域分隔符]是可选的,因为awk使用空格作为缺省的域分隔符,如果域中有空格,不必指定这个选项,但是,例如passwd文件,域分隔符是:,所有必须指定-F选项。如:
    // awk -F: 'commands' input-file

2. 写入shell文件中
3. 写入单独的文件,然后调用:
    awk -f awk-script-file input-files(s)
    // -f指明在文件awk-script-file中的awk脚本
4.  动作必须用{}括起来

--------------------------------
1.    $1 $2 ... $n 表示各个域, $0 表示所有域
2.    正则表达式用 / / 包含起来: /正则表达式/
3.    ~ 匹配    !~ 不匹配
4.    if() 后面用(), 可以用 < <= > >= != && ||
    //
    //    awk '{ if($4=="Yellow" && $2~/[Gg]reen/) }' filename
    //
---------------------------------

原文地址:https://www.cnblogs.com/linxr/p/1927007.html