Unix命令为行添加填充

时间:2016-10-14 09:16:06

标签: unix awk sed

你能否分享unix命令来实现以下输出

输入文件:

a1;a2;7789;1;3;4;50
b1:f7;5960;2;3;4;55;fmd
c1;f7

预期: (共8列。如果为空值,将添加分隔符)

a1;a2;7789;1;3;4;50;;
b1:f7;5960;2;3;4;55;fmd;
c1;f7;;;;;;;

1 个答案:

答案 0 :(得分:2)

您可以使用此awk

awk -F';' '{NF=9; $1=$1; print}' OFS=';' file

(OR)

awk 'BEGIN{OFS=FS=";"} {NF=9; $1=$1}1' file

输出:

$ awk -F';' '{NF=9; $1=$1; print}' OFS=';' file
a1;a2;7789;1;3;4;50;;
b1:f7;5960;2;3;4;55;fmd;;
c1;f7;;;;;;;