2016-03-08 26 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