使用shell脚本计算文本中数字求和
问题:文件abc中有且只有一行数字32 2 43 6 77,编写shell脚本通过循环求和。准备文本echo "32 2 43 6 77" > abc编写脚本1 #!/bin/bash2 #3 #*****************************************************************************4 #Author:sunmy5 #Mail
·
问题:
文件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的自定义变量进行循环取值。
更多推荐
已为社区贡献8条内容
所有评论(0)