我认为用sed,awk或Perl一个衬里来操纵CSV文件至少可以说是乐观的.如果格式改变了,如果一个字段包含分隔符怎么办?我建议使用Text :: CSV_XS,这非常简单有效.通常,简单的任务,例如您要求的只需要几行.给定一个正确配置的Text::CSV_XSinstance($csv),它只是一个问题:
while ( my $row = $csv->getline( $in ) ) {
my @new_row = map { defined $_ ? $_ : 1 } @$row;
$csv->print( \*STDOUT, \@new_row );
}
Run Code Online (Sandbox Code Playgroud)
如果你仍然想直接使用命令行,你可以检查csv(App :: CSV),IMO比上面提到的替代方法有更好的方法.