awk救援.您可以使用TJ的示例输入文件在一个脚本中完成所有操作
$ awk -F, -v OFS=, 'NR==FNR{if(max<NF)max=NF;next};
{NF=max}1' file{,}
1,2,3,4,5,
1,2,3,4,,
1,2,3,,,
1,2,3,4,5,6
Run Code Online (Sandbox Code Playgroud)
说明:这是一个双通算法,在第一轮中计算最大值并在第二轮中使用.
NR==FNR仅对第一个文件为真,计算最大值,请注意,由于默认值为零且长度为非负,因此无需初始化最大值.next跳过脚本的其余部分.在第二轮设置中NF=max,用较少的字段填充记录.1用作基于awk默认值的打印(或任何真实语句)的简写.同样file{,}解决file file为使用相同的文件两次双通道算法.
使用数组和END块也可以使用单通道写入相同的内容.