我需要在一行中打印它

时间:2015-04-07 06:17:25

标签: perl unix

我正在使用unix命令在perl wfor中编写脚本。我需要在perl中将这些命令的输出打印在一行中。

$table_name=`cat diff_out|cut -d "|" -f1`;
$col_name=`cat diff_out|cut -d "|" -f2`;
$index_name=`cat diff_out|cut -d "|" -f3`;
print "$table_name |$col_name |$index_name |DROPPED|$col_name|$index_name";

我将输出一个低于另一个。我想把它放在一行。

1 个答案:

答案 0 :(得分:0)

您需要为每个变量使用chomp运算符来跳过该行中的换行符。

#!/usr/bin/perl
use strict;
use warnings;
my $table_name=`cat diff_out|cut -d "|" -f1`;
chomp($table_name);
my $col_name=`cat diff_out|cut -d "|" -f2`;
chomp($col_name);
my $index_name=`cat diff_out|cut -d "|" -f3`; 
chomp($index_name);                               
print "$table_name |$col_name |$index_name |DROPPED|$col_name|$index_name\n";

输出:

OLAPTABLEVELTUPLES |ID |OLAPTABLEVELSSEL |DROPPED|ID|OLAPTABLEVELSSEL