2017-04-12 96 views
0

标题说明了所有。我知道这是可能的,因为this的作品不读取文件。然而,当我尝试修改它从文件中读取的值,我得到奇怪的结果...Bash连接少于符号从文件读取的字符串

$ num1="1.291858E+01" 
$ num2="1E-5" 
$ echo $num1'>'$num2 
    1.291858E+01>1E-5 
$ cat sum.csv 
    1.291858e+01 
$ num1=`cat sum.csv | sed -e 's/e/E/'` 
$ echo $num1 
    1.291858E+01 
$ echo $num1'>'$num2 
    >1E-5858E+01 

编辑:

我希望的结果是

1.291858E+01>1E-5 

这里是什么,我直接从终端复制

test $ num1="1.291858E+01" 
test $ num2="1E-5" 
test $ echo $num1'>'$num2 
1.291858E+01>1E-5 
test $ cat sum.csv 
1.291858e+01 
test $ num1=`cat sum.csv | sed -e 's/e/E/'` 
test $ echo $num1 
1.291858E+01 
test $ echo $num1'>'$num2 
>1E-5858E+01 
test $ 
+2

作为习惯的问题,引用双引号中的变量扩展。 –

+2

另外,我无法重现最后一行。按照我的预期,它会产生1.291858E + 01> 1E-5'。我认为你正在搞砸其他你不告诉我们的东西。 –

+1

这里有什么问题?提供一个精确的_expected_输出的输入 – Inian

回答

3

你行结束控制在女士sum.csv,presumabl因为它是在Windows上创建的。使用cat -v sum.csv来查看它们并运行dos2unix或类似的删除它们。