2016-03-08 6 views
1

Я работаю над скриптом, который должен найти Apple SDK для кросс-компиляции из командной строки. SDK names have a particular format and it includes a version number:Сохраните десятичную часть значения в команде seq?

  • iPhoneOS7.0.sdk
  • iPhoneOS7.1.sdk
  • iPhoneOS7.2.sdk

Когда я запускаю следующий сценарий, используя the seq command, дробная часть отбрасывается когда десятичная часть равна 0. То есть, 6.0 отображается как 6. Остальные значения OK:

for i in $(seq 20.0 -0.1 4.3) 
do 
    echo "Value: $i" 
done 

Например:

$ ./count.sh 
Value: 20 
Value: 19.9 
Value: 19.8 
Value: 19.7 
Value: 19.6 
Value: 19.5 
Value: 19.4 
Value: 19.3 
Value: 19.2 
Value: 19.1 
Value: 19 
... 

Я не уверен, если seq не производит концевая 0, или если echo снижается конечный 0. В любом случае мне нужно его сохранить.

Как сохранить десятичную часть стоимости i?

ответ

2

seq(1) принимает стиль printf(3), формируя строки с аргументом -f, так что вы можете сделать seq -f "%.1f" 20.0 -0.1 4.3.

Что дает:

$ seq -f "%.1f" 1 0.1 2 
1.0 
1.1 
1.2 
1.3 
1.4 
1.5 
1.6 
1.7 
1.8 
1.9 
+0

Большое спасибо. – jww