AWK 获取第一行最后一个词,然后复制并在下一行添加一个(inc)
AWK get last word first line , then copy and add one (inc) next line
我的目标是: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
处理后需要文件 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
*
你可以试试
$ awk -F";" 'NR==1{count = } {=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
总是正确的。采取默认操作打印整个记录。
我的目标是: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
处理后需要文件 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
*
你可以试试
$ awk -F";" 'NR==1{count = } {=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
总是正确的。采取默认操作打印整个记录。