2017-04-12 11 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に制御-MSでpresumablを終了し、端末から直接コピーしてるものですyはWindows上で作成されたためです。 cat -v sum.csvを使用して確認し、dos2unixなどを実行して削除してください。

関連する問題