zoukankan      html  css  js  c++  java
  • 每天一个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


  • 相关阅读:
    数仓备机DN重建:快速修复你的数仓DN单点故障
    深度学习分类任务常用评估指标
    云小课 | MRS基础入门之HDFS组件介绍
    华为云数据库GaussDB(for Cassandra)揭秘第二期:内存异常增长的排查经历
    为什么vacuum后表还是继续膨胀?
    Go 自定义日志库
    Go time包
    Go 文件操作
    Go 包相关
    【程序人生】跟小伙伴们聊聊我有趣的大学生活和我那两个好基友!
  • 原文地址:https://www.cnblogs.com/edgedance/p/6979592.html
Copyright © 2011-2022 走看看