【发布时间】:2013-04-17 12:20:38
【问题描述】:
我的 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
但是当我尝试查看文件时(当我打开文件时),我看到的结果加上奇怪的字符
[H[2J867
本例中的正确数字是 867。有人知道我该如何解决这个问题吗? 谢谢!
【问题讨论】:
-
我想你的意思是
endMS_line=`awk '$1'=="$variable"'{print NR}' file` -
问题可能只是您没有在数字后添加换行符吗?
printf '%d\n' "$endMS_line"有影响吗? -
William 如果我在脚本开头保留“清除”命令,您的解决方案不起作用 =(