Bash 将小于号连接到从文件中读取的字符串

Bash concatenate less than sign to string read from file

标题说明了一切。我知道这在不读取文件时是可能的,因为 this 有效。但是,当我尝试修改它以从文件中读取值时,我得到了奇怪的结果...

$ 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 $

您的行在 sum.csv 中以 control-Ms 结尾,大概是因为它是在 Windows 上创建的。使用 cat -v sum.csv 查看它们,使用 运行 dos2unix 或类似的方法删除它们。