如何删除Perl中不可见的换行符

时间:2017-08-16 16:12:43

标签: shell perl

我在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;`

1 个答案:

答案 0 :(得分:-1)

根据tadman的建议,将chomp添加到从文件中取出的每个字符串中,修复输出,使其全部在一行而不是三行,如问题的示例所示。