文本处理三剑客 grep、sed、awk

grep

 以文本的 ”行“ 为单元把所需要的文本筛选出来(主要用于查找)

    形式一:grep [ option ] [ pattern ] [file1, file2,...]

    形式二:some command | grep [ option ] [ pattern ]

    选项  含义

    -i     忽略大小写

    -c    只输出匹配行的数量

    -n    显示行号

    -r     递归搜索

    -E    支持拓展正则表达式

    -w    匹配整个单词

    -l     只列出匹配的文件名

    -F    不支持正则,按字符串字面意思进行匹配

 

    根据字符串、变量名过滤文档

              

 

     过滤的错误信息存到/dev/null目录下,使用“ >> ”保存到一个回收文件夹“/dev/null”,该文件夹只保留正常运行的,若需要保存错误和正常的使用 “ &> ” 符合

               

 

sed

    流编辑器,对文件逐行进行处理

    方式一:sed [ option ] "pattern command" file

    方式二:some command | sed [ option ] "pattern command"

    选项    含义

    -n     只打印模式匹配的行

    -f     加载存放动作的文件

    -r     支持拓展正则

    -i     直接修改文件

 

    pattern模式

    匹配模式              含义

    5                 只处理第5行

    5,10                只处理第5到第10行

    /pattern1/           只处理能匹配pattern1的行

    /pattern1/, /pattern2/     只处理从匹配pattern1的行到匹配pattern2的行

 

    command命令

      查询:p,打印

      新增:

        a,在匹配行后新增

        i,在匹配行前新增

        r,外部文件读入,行后新增

        w,匹配行写入外部文件

      删除:d

      修改:s

        s / old / new / :只修改匹配行中的第一行

        s / old / new / g :修改匹配行中所有的old

        s / old / new / ig :忽略大小写

 

    a,在匹配行后新增内容

                       

 

    r,外部文化读入,行后新增

                      

 

    w, 匹配后写入外部文件

                      

 

     修改

                       

     以list开头到以message开头的行

             

 

awk

    文本处理工具,处理数据并生成结果报告(针对某一列字段的数据进行处理)

    方式一:awk  ‘ BEGIN{} pattern { commands }END{} ’  file

    方式二:some command | grep [ option ] [ pattern ]

    格式      含义

    BEGIN{ }    处理数据之前执行

    pattern       匹配模式

    { command }   处理的命令

    END{ }     处理数据之后执行

 

    内置变量            含义

    $0               整行整列所有内容

    $1-$n               当前行的第1-n个字段

    NF(Number Field)       当前每行的字段数

    NR(Number Row)       当前每行的行号,从1开始

    FS(Field Separator)       输入字段分割符,默认为空格或tab键

    RS(Row Separator)       输入行分割符,默认为回车符

    OFS(Output Field Separator)  输出字段分割符,默认为空格

    ORS(Output Row Separator)  输出行分割符,默认为回车符

 

       printf 格式符

        格式符   含义

      %s      字符串

      %d      十进制数字

      %f     浮点数

 

    修饰符  含义

      +    右对齐

      -    左对齐

 

    取文本中第一个字段的数据

                       

     变量 $NF :取最后一个字段的数据;变量 $NF -1 :取倒数第二个字段的数据

                       

     使用printf 格式化

                       

    使用正则,只取文件中含有某字母的数据,如:/mail/

                       

 

    使用正则,查找从某行的数据开始到某行的数据结束

             

    使用正则,查找大于100的某行某列的数据

             

    使用正则,查找的结果总数有两种方式,方式一:wc -l ;方式二:END{  }

                

    使用脚本执行 awk  

             

       当awk的命令行太长时,可写在一个文件中运行

                         

    统计某个人做了某件事

                         

 

     统计每位测试人员执行用例的总数

                  

 

    分别统计每位测试人员执行用例成功和失败的总数

                        

 

   统计每位测试人员分别执行了多少条critical、error、success、fail 用例,以及每项的总和

                  

 

posted @ 2022-04-11 18:32  哩子吖  阅读(61)  评论(0)    收藏  举报