新人求教: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

shell?

let指令可以进行简单的表达式运算

譬如:

$ let a=(10+11)/2

$ echo $a

10

还可以调用linux自带的运算器bc,如

$ echo 10+11/5 | bc

12


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存