shell 遍历自定义数字列表

kil*_*les 2 unix linux bash shell

我可以使用seq或 c 样式的 for 循环遍历均匀间隔的数字序列:

$ for (( i = 1; i < 6 ; ++i)); do echo $i ; done

1
2
3
4
5

$ for i in $(seq 1 5); do echo $i; done
1
2
3
4
Run Code Online (Sandbox Code Playgroud)

我想生成一个不规则的序列,1 2 4 4.25 4.5 5. 在 shell 循环中迭代这些数字的简单方法是什么?

Unw*_*ble 6

如果您使用 aubhava 的方法,您还可以在输出中显示小数位:

for i in 1 2 4 4.25 4.5 5; do
    printf '%0.02f\n' $i
done
Run Code Online (Sandbox Code Playgroud)

输出:

1.00
2.00
4.00
4.25
4.50
5.00
Run Code Online (Sandbox Code Playgroud)