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"
         }
    '

  • 相关阅读:
    CB文件读入后输出中文乱码问题
    2019-ICPC-沈阳站打铁感想
    计蒜客习题:画图游戏(Havel-Hakimi定理)
    计蒜客练习题:接龙(带权并查集)
    搜索----Dungeon Master
    最短路 poj1502 MPI Maelstrom
    poj 3259 Wormholes
    Silver Cow Party
    Til the Cows Come Home
    Cow Contest
  • 原文地址:https://www.cnblogs.com/benshan/p/2585399.html
Copyright © 2011-2022 走看看