• 每天一个liunx命令3之awk实现文本文件的抓取


    =============================================================================

    grep -h -s -E 'HUAWEI_900086000042331834|BAIDU_3266643378' /data/stat2/Log/LogStat_2017-05-17_000.log

        -h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
        -s 不显示错误信息
        -E 意思是条件中是一个正则表达式,上例中搜索包含HUAWEI_900086000042331834或BAIDU_3266643378的信息

    =============================================================================


    统计文件中的行数
        awk 'END{ print NR }' /data/stat2/Log/LogStat_2017-05-17_000.log

    打印每一行的第二和第三个字段
        awk '{ print $2,$3 }' filename


    awk -F "," '{OFS=",";if($2>1036) print $1,$2}' /data/stat2/Log/LogStat_2017-05-17_000.log
        将源文件/data/stat2/Log/LogStat_2017-05-17_000.log按照 , 分割   当每一行第二个字段大于1036时,输出第一个字段,和第二个字段   输出时按照 , 分割

        -F ","  将源文件按照 , 分割
        {} 括号内多个命令按照  分号 分割
        OFS=","  显示文件按照 , 分割 如果不写默认按照 空格 分割显示  
        if($2>1036)  判断函数   当第二个字段大于1036时,执行之后的语句
            if(表达式) 语句1 else 语句2
            或者  if(表达式) {语句1} else if(表达式) {语句2} else {语句3}
        print $1,$2  print输出函数  默认输出在控制台
            $n 当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。 

            $0 这个变量包含执行过程中当前行的文本内容。


    =============================================================================

    grep和awk整合
        grep -h -s -E 'HUAWEI_900086000042331834|BAIDU_3266643378' /data/stat2/Log/test/LogStat_2017-05-17_000.log | awk -F "," '{OFS=",";if($2>1003) print $0}'
        第一个grep的结果作为awk的分析文本 然后结果默认是显示在控制台

    =============================================================================


    如何将上述结果保存到一个文件
        > 是把输出转向到指定的文件,如文件已存在的话也会重新写入,文件原内容不会保留
        >> 是把输出附向到文件的后面,文件原内容会保留下来
        grep -h -s -E 'HUAWEI_900086000042331834|BAIDU_3266643378' /data/stat2/Log/test/LogStat_2017-05-17_000.log | awk -F "," '{OFS=",";if($6<1002) print $0}' >> /data/stat2/Log/test/test.txt


  • 相关阅读:
    什么是响应式设计?响应式设计的基本原理是什么?响应式设计的优缺点?
    你了解的浏览器兼容问题有哪些?
    简述网页中常见图片格式及特点?
    标签应该如何合理嵌套?
    你能想出几种方法让元素在页面中消失?
    为什么要初始化 CSS 样式?哪些样式需要初始化?
    文本溢出显示省略号如何实现?
    vue 几个典型的坑
    vue指令 v-if与 v-show的区别
    vuex的demo
  • 原文地址:https://www.cnblogs.com/edgedance/p/6979592.html
Copyright © 2020-2023  润新知