awk计算字段数并相应添加

Dea*_*ano 10 linux scripting awk sed

我有以下file.csv

111111 | 111111 | 22222 | 44444 | 4445454 | 67554333 | 
Run Code Online (Sandbox Code Playgroud)

我可以使用以下内容计算字段数

awk -F '|' '{print NF}' file.csv
Run Code Online (Sandbox Code Playgroud)

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

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

非常感谢您的帮助.

谢谢

kev*_*kev 6

要在行尾添加空字段:

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

  • 最后的1是什么?隐含的是真的? (2认同)