Linux awk统计字段数并相应地添加

Linux awk统计字段数并相应地添加,linux,scripting,sed,awk,Linux,Scripting,Sed,Awk,我有以下文件.csv 111111 | 111111 | 22222 | 44444 | 4445454 | 67554333 | 我可以使用以下公式计算字段的数量 awk -F '|' '{print NF}' file.csv 在我的数据库模式中,我有33个字段,但是我的csv文件中的一些行少于33个字段,因此当我导入文件时,它会抱怨未匹配 使用awk,我如何通过|添加空字段扩展器来填满33行 非常感谢你的帮助 感谢您在行尾添加空字段: awk -F'|' -v OFS='|' '{f

我有以下文件.csv

111111 | 111111 | 22222 | 44444 | 4445454 | 67554333 | 
我可以使用以下公式计算字段的数量

awk -F '|' '{print NF}' file.csv
在我的数据库模式中,我有33个字段,但是我的csv文件中的一些行少于33个字段,因此当我导入文件时,它会抱怨未匹配

使用awk,我如何通过|添加空字段扩展器来填满33行

非常感谢你的帮助


感谢您在行尾添加空字段:

awk -F'|' -v OFS='|' '{for(i=NF+1;i<=33;i++)$i=""}1' file.csv

awk-F'|'-vofs='|'{for(i=NF+1;i这可能适合您:

sed ':a;s/|/&/33;t;s/$/|/;ta' file.csv

一个更简单的版本可以是
awk-F'|'-vofs='|''NF=33'
(无需设置
NF+1
33
之间的字段,
NF>=33
打印行)。@jfgagne好主意。
'NF结尾的1是什么?隐式正确?