bash – 添加尾随逗号以确保.csv行具有相同的列数
发布时间:2020-12-15 21:26:57 所属栏目:安全 来源:网络整理
导读:我有一个逗号分隔文件,其行具有不均匀的列数. 我想添加尾随逗号(带空值),以便每列具有最大列数. 我目前有: i1,12,15i2,00,01i3i4,18,21,36 这只是一个示例,实际文件的最大列数不同. 我上面例子的所需输出是: i1,15,i2,01,i3,i4,36 先感谢您! 解决方法 一
我有一个逗号分隔文件,其行具有不均匀的列数.
我想添加尾随逗号(带空值),以便每列具有最大列数. 我目前有: i1,12,15 i2,00,01 i3 i4,18,21,36 这只是一个示例,实际文件的最大列数不同. 我上面例子的所需输出是: i1,15,i2,01,i3,i4,36 先感谢您! 解决方法
一个用于GNU awk.它处理文件两次.在第一次运行时,它确定最大字段数,在第二次运行时,它将“空”(井,两个空格)字段添加到结尾:
$awk ' BEGIN { FS=OFS="," # field separators } NR==FNR { # first run if(maxnf<NF) # find the biggest NF maxnf=NF next } NF<maxnf { nf=NF+1 # store NF+1 for for NF=maxnf # reset the NF for(nf;nf<=NF;nf++) # process the new fields $nf=" " }1' file file # output records 输出: i1,36 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |