使用shell脚本计算文本中数字求和
Posted 白-胖-子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用shell脚本计算文本中数字求和相关的知识,希望对你有一定的参考价值。
问题:
文件abc中有且只有一行数字32 2 43 6 77,编写shell脚本通过循环求和。
准备文本
echo "32 2 43 6 77" > abc
编写脚本
1 #!/bin/bash
2 #
3 #*****************************************************************************
4 #Author: sunmy
5 #Mail: 8528379[AT]]sina.com
6 #Date: 2021-09-07
7 #FileName: aabc.sh
8 #BlogURL: www.sunmy.pro
9 #Description: GodNamed
10 #Copyright (C): 2021 All rights reserved
11 #****************************************************************************
12 for i in {1..5};do
13 j=`cat /root/abc | awk -v test=$i '{print $test}'`
14 let sum+=j
15 done
16 echo sum=$sum
脚本解读
- 通过cat命令读取abc文本
- 通过管道将取出的值传给awk
- awk通过-v参数指定变量 -v test=$i
- awk通过print打印出$1 ~$5,也就是文本中的值
- 写for循环,文本中5个数,所以i取值为1~5
- 变量j的值为从文本中依次取出的数
- 使用let让变量j循环自加
- 通过echo命令打印出计算结果
此脚本主要使用了awk的自定义变量进行循环取值。
以上是关于使用shell脚本计算文本中数字求和的主要内容,如果未能解决你的问题,请参考以下文章