方法1:
seq 100|awk '{i=i+$1}END{print i}'
方法2:
#!/bin/bash
x=0
for ((i=1;i<101;i++));
do
let x=x+i
done
echo $x
方法3:
echo {1..100} | sed 's/ /+/g'|bc
方法4:
echo {1..100}| awk -F " " '{for(i=1;i<NF+1;i++){j=j+i;}print j;}'
方法5:
#!/bin/bash
j=0
for i in `seq 100`
do
let j=j+i
done
echo $j
方法6:(补充)
seq 100 |echo $[ $(tr '\n' '+') 0 ]
总结:
方法1非常简洁,使用END关键字
方法2使用了for循环,典型的程序员代码
方法3数据源与方法1不同,特点是单行,使用sed转化为数学算式再交给bc命令计算
方法4数据源与方法3已知,再awk内循环完成计算并输出
方法5数据源与方法1类似
方法6数据源与方法1一致,利用tr的字符替换形成加法算式。
其还可以改写为如下:
seq 100 |echo $(tr '\n' '+') 0 |bc