2013-04-17 172 views
0

我在script.sh奇怪的字符

printf "%d" "$endMS_line" 

$ endMS_line這行是一個數字。我得到

endMS_line=`cat file | awk '{if($1=='"$variable"') print NR}'` 

該號碼,將其打印出來我用

printf "%d" "$endMS_line" 

echo $endMS_line 

所以一切都完美地工作在標準輸出。問題是,當我想將這個數字保存到一個文件中(因爲我想在另一個腳本中使用結果,可能有一個聰明的方法來完成它,而不是寫入一個文件,然後從文件中讀取數字,等等。 )

但現在我正在努力做到這一點。怎麼樣?那麼我寫在標準輸出中。

myscript.sh inputs > file.txt 

但是當我嘗試查看該文件(當我打開文件),我看到的結果加上怪異characteres

[H[2J867 

在這個例子中正確的數字867。任何人都知道我怎麼能解決這個問題? 謝謝!

+0

我想你的意思是'endMS_line = \'awk'$ 1'==「$ variable」'{print NR}'file \'' – tripleee

+0

問題可能是因爲您沒有在編號後面添加換行符? 'printf'%d \ n'「$ endMS_line」'是否有所作爲? – William

+0

威廉如果我在腳本的開頭保留「清除」命令,不起作用您的解決方案=( – Nikko

回答

0

在腳本的begginning我有命令:

clear 

去除和使用:

echo "$endMS_line" 

然後在標準輸出:

myscript.sh input > file.txt 

完美。