Linux awk统计字段数并相应地添加
我有以下文件.csvLinux 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
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是什么?隐式正确?