使用sed填充空的CSV字段?

use*_*622 0 csv perl sed

我需要在文件中的所有空单元格(没有任何值)中输入一些值(例如 1).如何使用完成?

如果使用无法实现这一点,那么使用是不可能的?

lar*_*sen 6

我认为用,或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比上面提到的替代方法有更好的方法.