You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux中如何拆分数字各位并求和?例:2211需输出6

数字各位求和的Linux命令方案

方法1:使用awk处理

awk可直接遍历字符串每一位并累加求和:

echo 2211 | awk '{s=0; for(i=1;i<=length($0);i++) s+=substr($0,i,1); print s}'

原理:通过length($0)获取数字长度,循环用substr截取每一位字符转为数值后累加到变量s,最后输出总和。

方法2:sed拆分后用bc求和

先用sed给每一位数字间添加+符号,再通过bc执行加法运算:

echo 2211 | sed 's/./&+/g; s/+$//' | bc

原理:s/./&+/g给每个字符后追加+,s/+$//移除末尾多余的+,最后由bc计算拼接后的加法表达式。

方法3:纯Bash脚本实现

无需外部工具,仅用Bash内置的字符串操作完成:

num=2211; sum=0; while [ -n "$num" ]; do sum=$((sum + ${num:0:1})); num=${num:1}; done; echo $sum

原理:循环截取数字的第一位加到总和sum,随后移除数字的第一位,直到数字为空时输出最终结果。

内容的提问来源于stack exchange,提问作者GJO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 16:31:02