linux - awk 计算字段数并相应地添加

标签 linux scripting sed awk

我有以下文件.csv

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

我可以使用以下方法计算字段数

awk -F '|' '{print NF}' file.csv

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

使用 awk 如何通过 | 添加 NULL 字段扩展器为了填满33行

非常感谢您的帮助。

谢谢

最佳答案

在行尾添加空字段:

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

关于linux - awk 计算字段数并相应地添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9841036/

相关文章:

powershell - 在Powershell中输出磁盘使用情况

linux - 如何在 Linux 中搜索两个不同日期的日志文件

linux - SED 未终止 `s' 命令仅在少数服务器上失败

linux - 如何远程停止ffmpeg?

java - 虚拟内存每秒增加 - 内存不足错误

macos - 是否可以授予沙盒应用程序访问从 AppleScript 发送的文件的权限?

linux - 如何在 Unix shell 脚本中为任何目录结构构建文件夹路径

sed 排除目录

android - linux 中/dev/kmem char 设备的真正用途是什么?

Python MySQLdb 在 Python 命令行上运行,但不能在 Django Views.py 上运行