经过一些grep
ing 和sed
ing 后,我设法从 csv 单元格中获取一个值并将其分配给一个变量(DBR)。
这里有一些奇怪的发现
echo $DBR
echo "$DBR",
printf "%f" $DBR
输出:
9.1
,.1
: invalid numbersh: line 25: printf: 9.1
答案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