我的目标是:将ADD + 1加到最后一个字WORD($ 9)到下一行,谢谢。
处理前输入文件
U;1440564493023;17600000000057;AAA7;MICHEL;DUPONT;31/12/2050;SDIS;48813
U;1510832013115;17600000000924;AAA7;CEDRIC;FERNAND;31/12/2050;SDIS;2
U;1410832013785;17600000000081;AAA7;ERIC;FILOU;31/12/2050;SDIS;2
处理后的Desire File OUTPOUT
U;1440564493023;17600000000057;AAA7;MICHEL;DUPONT;31/12/2050;SDIS;48813
U;1510832013115;17600000000924;AAA7;CEDRIC;FERNAND;31/12/2050;SDIS;48814
U;1410832013785;17600000000081;AAA7;ERIC;FILOU;31/12/2050;SDIS;48815
*
答案 0 :(得分:5)
您可以尝试类似
的内容$ awk -F";" 'NR==1{count = $9} {$9=count++}1 ' OFS=";"
或强>
awk 'BEGIN{FS=OFS=";"} NR==1{count = $NF} {$NF=count++}1' input
<小时/> 的测试强>
$ awk 'BEGIN{FS=OFS=";"} NR==1{count = $NF} {$NF=count++}1' input
U;1440564493023;17600000000057;AAA7;MICHEL;DUPONT;31/12/2050;SDIS;48813
U;1510832013115;17600000000924;AAA7;CEDRIC;FERNAND;31/12/2050;SDIS;48814
U;1410832013785;17600000000081;AAA7;ERIC;FILOU;31/12/2050;SDIS;48815
<小时/> 它的作用是什么?
BEGIN{FS=OFS=";"}
将输入和输出字段分隔符设置为;
NR==1{count = $NF}
如果当前记录是第一条记录(NR
为1
),则将count变量设置为最后一个字段值$NF
{$NF=count++}
将最后一个字段设为count
。按1
1
总是如此。采取默认操作来打印整个记录。