zoukankan      html  css  js  c++  java
  • linux awk命令实现统计每行数据的总和、平均值

    1、测试数据

    root@PC1:/home/test# ls
    test.txt
    root@PC1:/home/test# cat test.txt
    3 4 2 2
    1 9 5 7
    5 7 8 4
    2 3 4 6

    2、实现计算每行的和

    root@PC1:/home/test# ls
    test.txt
    root@PC1:/home/test# cat test.txt
    3 4 2 2
    1 9 5 7
    5 7 8 4
    2 3 4 6
    root@PC1:/home/test# awk 'BEGIN{sum = 0}{for(i = 1; i <= NF; i++) {sum += $i} {print sum; sum = 0}}' test.txt > sum.txt
    root@PC1:/home/test# ls
    sum.txt  test.txt
    root@PC1:/home/test# cat sum.txt  ## 每行数据的和
    11
    22
    24
    15

    3、实现计算每行数据的平均数

    root@PC1:/home/test# ls
    test.txt
    root@PC1:/home/test# cat test.txt
    3 4 2 2
    1 9 5 7
    5 7 8 4
    2 3 4 6
    root@PC1:/home/test# awk 'BEGIN{sum = 0} {for(i = 1; i <= NF; i++) {sum += $i} {print sum/NF; sum = 0}}' test.txt > mean.txt
    root@PC1:/home/test# ls
    mean.txt  test.txt
    root@PC1:/home/test# cat mean.txt  每行数据的平均数
    2.75
    5.5
    6
    3.75

    4、R实现

    dir()
    dat <- read.table("test.txt", header = F)
    dat
    apply(dat, 1, sum)
    apply(dat, 1, mean)
    > dir()
    [1] "test.txt"
    > dat <- read.table("test.txt", header = F)  ## 读取测试数据
    > dat
      V1 V2 V3 V4
    1  3  4  2  2
    2  1  9  5  7
    3  5  7  8  4
    4  2  3  4  6
    > apply(dat, 1, sum)   ## 每行的和
    [1] 11 22 24 15
    > apply(dat, 1, mean)  ## 每行的平均数
    [1] 2.75 5.50 6.00 3.75
  • 相关阅读:
    分布式集群环境下运行Wordcount程序
    VM搭建hadoop分布式集群
    安装运行Hadoop
    网络问题
    Golang依赖工具
    会话进程组终端 · 守护进程
    Golang笔记
    [转]GDB
    [转]用户态与内核态
    【转】linux环境内存分配原理 malloc info
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/15805541.html
Copyright © 2011-2022 走看看