新人求教:Linux 中如何计算文本中第一列的和以及求第1,2列的平均值?

新人求教:Linux 中如何计算文本中第一列的和以及求第1,2列的平均值?,第1张

假设你的数据时存储在一个文件中,文件名字为test.txt

第一列的和:

cat test.txt | awk '{sum1+= $1}END{print sum1}'

第一列和第二列的平均值

cat test.txt | awk '{sum1+=$1sum2+=$2count++}END{print sum1/count,sum2/count}'

[root@localhost ~]# cat file

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

[root@localhost ~]# awk 'BEGIN{SUM=0}{SUM=$1+SUMif(NR%3==0){printf SUM/3SUM=0}print ""}' file

2

5

8

11

14

17

20

23

26

29

32

35

38

41

44

47

50

53

56

59

62

65

68

71

74

77

80

83

86

89

92

95

98

1班(class1)的平均值:awk 'BEGIN{sum=0num=0}{if($2=="class1"){sum+=$3num+=1}}END{printf "%f\n",sum/num}' c.txt2班(class2)的平均值:awk 'BEGIN{sum=0num=0}{if($2=="class2"){sum+=$3num+=1}}END{printf "%f\n",sum/num}' c.txt3班(class3)的平均值:awk 'BEGIN{sum=0num=0}{if($2=="class3"){sum+=$3num+=1}}END{printf "%f\n",sum/num}' c.txt


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8969861.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存