awk计算字段数并相应添加

时间:2012-03-23 14:32:09

标签: linux scripting sed awk

我有以下file.csv

111111 | 111111 | 22222 | 44444 | 4445454 | 67554333 | 

我可以使用以下

计算字段数
awk -F '|' '{print NF}' file.csv

在我的数据库模式中我有33个字段,但是我的csv文件中的一些行少于33个字段,因此当我导入文件时,它会抱怨未匹配。

使用awk如何通过|添加NULL字段spreader为了满满33行

非常感谢您的帮助。

谢谢

2 个答案:

答案 0 :(得分:6)

在行尾添加空字段:

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

答案 1 :(得分:2)

这可能对您有用:

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