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

  • 相关阅读:
    华为机试题 成绩排名
    华为机试题 四则运算
    华为机试题 求最大连续bit数
    华为机试题 Redraiment
    华为机试题 素数伴侣
    华为机试题 字符串排序
    华为机试题 计算字符串的距离
    华为机试题 多线程
    UE4-快捷键-按键监听事件
    UE4-Blueprint Class-Actor-开关门-盒子触发体
  • 原文地址:https://www.cnblogs.com/benshan/p/2585399.html
Copyright © 2020-2023  润新知