zoukankan      html  css  js  c++  java
  • awk基本用法

    学习网址1

    学习网址2

    ls -l >> list.txt

    输出第一列

    awk '{print $1}' list.txt

    输出第二列

    awk '{printf %d
    ,$2}' list.txt

    输出第二行第一列

    awk 'NR==2 {print $1}' list.txt

    if语句

    awk '{if(NR<=2){print $0}}' list.txt


    Awk完整形式  

    awk 'BEGIN{print"start"} pattern{print} END{print "end"}' 

    其中BEGIN和END是可选模块, pattern里面每读一行执行一次,BEGIN在加载数据前执行,END在加载数据完成后执行。单引号是为了将awk命令与linux命令区分开。

    Eg、输出字段数(NF->number of fileds)和行数(NR->numberof rows)

    awk 'END{print NF,NR}'  //在读入每一行的时,awk会将NR更新为对应的行号


    1. 提前遍历全文
    2. awk 'BEGIN{while(getline<"file"){x+=$2+$3;i++};y=x/i}{if($2+$3>y)z++}END{print z}' file

    拆分

    ifconfig |awk '{if(NR==2){split($2,a,":");print a[2]}}'

    统计次数

    cat test
    123.122.123.12 12121212
    121.2332.121.11 232323
    255.255.255.255 21321
    123.122.123.12 12121212
    123.122.123.12 1212121er2
    123.122.123.12 12121212eer
    123.122.123.12 12121212ere
    255.255.255.255 21321
    121.2332.121.11 232323
    255.255.255.255 21321
    命令
    awk '{name[$1]++ }; END {for (count in name) print count,name[count]}' test|sort

    取字符前几位

    awk脚本形式

    eg:求学生平均成绩

    zhangsan 80
    lisi 81.5
    wangwu 93
    zhangsan 85
    lisi 88
    wangwu 97
    zhangsan 90
    lisi 92
    wangwu 88

    #!/bin/awk -f
    BEGIN{
    print "start"
    }
    {
    a[$1]+=$2
    b[$1]++
    }
    END{ 
    for(i in b){ 
    print i,a[i]/b[i] 
    } 
    print "end"
    }

     

    $0表示整行

    输出前3列

    ps -aux|grep java|awk '{i=1;while(i<3){printf $i;i=i+1;}print $i}'
    




  • 相关阅读:
    asp.net 通过js调用webService注意
    身份证号码验证 类
    char值码对应大全
    C# 让textbox 只能输入数字的方法
    table嵌套循环数据
    拆分字符串
    angular的路由配置
    js对象数组(JSON) 根据某个共同字段 分组
    当前时间的后七天
    ajax提交时“加载中”提示的处理方法
  • 原文地址:https://www.cnblogs.com/yan456jie/p/5369403.html
Copyright © 2011-2022 走看看