📅  最后修改于: 2023-12-03 14:56:21.330000             🧑  作者: Mango
这是一个简单的 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 脚本查找数字总和是一个很常见的任务。该脚本简单而实用,可轻松处理包含任意数量数字的文件。