2013-04-17 175 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 

完美。