📜  用于查找数字总和的 Bash shell 脚本(1)

📅  最后修改于: 2023-12-03 14:56:21.330000             🧑  作者: Mango

用于查找数字总和的 Bash shell 脚本

这是一个简单的 Bash shell 脚本,可以查找一个文件中所有数字的总和。

使用方法

将以下代码保存为 sum.sh 文件,并将待处理的文件作为参数传递给脚本。

#!/bin/bash

if [ -z "$1" ]
  then
    echo "请提供要处理的文件名"
    exit 1
fi

sum=$(grep -oE "\-?[0-9]+" "$1" | awk '{s+=$1} END {print s}')
echo "数字总和是:$sum"

例如,如果要查找文件 sample.txt 中的所有数字的总和,可以运行以下命令:

./sum.sh sample.txt
解析

该脚本使用了 grep 命令来查找文件中的数字。-o 标志告诉 grep 只输出匹配到的文本,而不是整行或整个文件。-E 标志启用扩展正则表达式,使得可以使用正数和负数的正则表达式 -?[0-9]+ 来匹配数字。

脚本还使用了 awk 命令来计算数字总和。{s+=$1} 表示将每个数字加入到变量 s 中。END {print s} 在处理完所有数字后输出总和。

脚本还包含了一些错误处理机制,如果用户未提供要处理的文件名,则输出错误消息并退出脚本。

总结

使用 Bash shell 脚本查找数字总和是一个很常见的任务。该脚本简单而实用,可轻松处理包含任意数量数字的文件。