我在perl中编写一个shell脚本,它从两个数据库中获取值并进行比较。脚本完成后,它会输出一个应该以这种方式格式化的报告:
表名称来自Database 2 Difference
的数据库1值的日期值输出打印到报告文件中,但即使输出到命令控制台,它也是如下所示:
tablename 2017-06-20 7629628
7629628
0
这是我的代码,使字符串然后将其输出到文件:
$outputstring="$tablelist[0] $DATErowcount0[$output_iteration] $rowcount0[$output_iteration] $TDrowcount0[$output_iteration] $count_dif\n";
print FILE $outputstring;
$ rowcount0 [$ output_iteration]之后和$ count_dif之前似乎隐藏了换行符。我需要做些什么来解决这个问题/将它们打印在一行中?
要使用值填充数组,将从SQL命令创建的文件中读取值。
以下是一些代码:
`$num_from_TDfile=substr $r2, 16;
$date_from_TDfile = substr $r2, 0, 12;
$TDrowcount0[$TDnum_rows0]=$num_from_TDfile;
$DATETDrowcount0[$TDnum_rows0]=$date_from_TDfile;
$TDnum_rows0=$TDnum_rows0+1;`
答案 0 :(得分:-1)
根据tadman的建议,将chomp
添加到从文件中取出的每个字符串中,修复输出,使其全部在一行而不是三行,如问题的示例所示。