Bash
數字的 Printf 格式錯誤
經過一番
grep
ing 和sed
ing 之後,我設法從 csv 單元格中獲取一個值並將其分配給一個變數(DBR)。這裡有一些奇怪的發現
echo $DBR echo "$DBR", printf "%f" $DBR
輸出:
9.1 ,.1 : invalid numbersh: line 25: printf: 9.1
您的
grep
ing 和sed
ing 未能從值中刪除尾隨輸入符DBR
(可能源自原始 CSV 文件中的 DOS 樣式的行結尾)。前任。給定
$ printf -vDBR '9.1\r' $ echo "$DBR" | xxd 00000000: 392e 310d 0a 9.1..
然後
$ echo $DBR 9.1 $ echo "$DBR", ,.1 $ printf '%f\n' "$DBR" : invalid number1 0.000000