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
或类似的方法删除它们。
标题说明了一切。我知道这在不读取文件时是可能的,因为 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
或类似的方法删除它们。