2017-04-12 158 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或類似的刪除它們。

相關問題