【发布时间】:2017-09-08 15:47:19
【问题描述】:
标题说明了一切。我知道这在不读取文件时是可能的,因为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 $
【问题讨论】:
-
习惯性地在双引号中引用变量扩展。
-
另外,我无法重现最后一行。正如我所期望的那样,它产生
1.291858E+01>1E-5。我认为你在搞砸一些你没有告诉我们的事情。 -
这里有什么问题?提供具有精确预期输出的输入
标签: bash sed concatenation cat