zoukankan      html  css  js  c++  java
  • Linux之awk学习

     

    #这个实例计算在命令行上指定的某个文件中的每一列数字的总和。

    if (test $# = 0)then
        echo "you must apply a number."
        exit 1
    fi
    cat $1 | awk ' NR == 1 # awk < $1
            {
                nfields = NF #set nfields to number of fields in the record (NF)
            }

    {
        if($0 ~ /[^0-9. \t]/) #check each record to see if it contains any characters are not numbers.
        { #periods.spaces.or tabs
            printf "it is not a number record\t " $0
            printf "\n"

        }
        else
        {
            for(count = 1;count <= nfields;count ++) #for good records loop
            {
                printf "%10.2f",$count > "out"
                sum[count] += $count
                gtotal += $count
            }
            print "\n" > "out"
        }
    }
    END {

            for(count = 1;count <= nfields;count++)
            {
                printf " -------" > "out"
            }
            print "\n" > "out"
            for(count = 1;count <= nfields;count++)
            {
                printf"%10.2f",sum[count] > "out"
            }
            print "\n\n Grand Total" gtotal "\n" > "out"
         }
    '

  • 相关阅读:
    最大公约数与最小公倍数
    素数筛
    基础数学问题
    考试前打模板
    斐波那契公约数
    期望及期望dp
    状压dp总结
    树链剖分学习
    B君的教育
    [noip2016]愤怒的小鸟
  • 原文地址:https://www.cnblogs.com/benshan/p/2585399.html
Copyright © 2011-2022 走看看