我的目标是:在最后一个字WORD($ 9)加上+ 1到下一行,谢谢.
在处理之前输入文件INPUT
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
Run Code Online (Sandbox Code Playgroud)
处理后的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
*
Run Code Online (Sandbox Code Playgroud)
你可以尝试类似的东西
$ awk -F";" 'NR==1{count = $9} {$9=count++}1 ' OFS=";"
Run Code Online (Sandbox Code Playgroud)
要么
awk 'BEGIN{FS=OFS=";"} NR==1{count = $NF} {$NF=count++}1' input
Run Code Online (Sandbox Code Playgroud)
$ 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
Run Code Online (Sandbox Code Playgroud)
BEGIN{FS=OFS=";"} 将输入和输出字段分隔符设置为 ;
NR==1{count = $NF}如果当前记录是第一记录(其中,NR是1)设置计数变量作为最后一个字段值,$NF
{$NF=count++}将最后一个字段设置为count.增值值1
1总是如此.采取默认操作来打印整个记录.