AWK。如何在分隔符之间添加相同的序号?
AWK. how to add the same sequential number between the separator?
我有一个文件如下:
Lisa with a client ID
####
Mike with a boss ID
Tim with a boss ID
Joe with a boss ID
####
Susan with a sales ID
Jenny with a sales ID
####
我希望输出为:
Group1,Lisa with a client ID
Group2,Mike with a boss ID
Group2,Tim with a boss ID
Group2,Joe with a boss ID
Group3,Susan with a sales ID
Group3,Jenny with a sales ID
我试过以下命令:
awk 'BEGIN{ RS="####"}![=12=]{ next }{printf([=12=]="Group"++i","[=12=])}' file.txt
但输出似乎只是用序列号替换####,例如:
Group1,Lisa with a client ID
Group2,
Mike with a boss ID
Tim with a boss ID
Joe with a boss ID
Group3,
Susan with a sales ID
Jenny with a sales ID
Group4
我想知道如何在分隔符之间的行的开头添加相同的序号?非常感谢!!
计算####
出现了多少次,并在每一行中输出结果。从 1 开始计数。
awk 'BEGIN{c=1} /^####/{c++; next} {print "Group" c "," [=10=]}' file
输出:
Group1,Lisa with a client ID
Group2,Mike with a boss ID
Group2,Tim with a boss ID
Group2,Joe with a boss ID
Group3,Susan with a sales ID
Group3,Jenny with a sales ID
我有一个文件如下:
Lisa with a client ID
####
Mike with a boss ID
Tim with a boss ID
Joe with a boss ID
####
Susan with a sales ID
Jenny with a sales ID
####
我希望输出为:
Group1,Lisa with a client ID
Group2,Mike with a boss ID
Group2,Tim with a boss ID
Group2,Joe with a boss ID
Group3,Susan with a sales ID
Group3,Jenny with a sales ID
我试过以下命令:
awk 'BEGIN{ RS="####"}![=12=]{ next }{printf([=12=]="Group"++i","[=12=])}' file.txt
但输出似乎只是用序列号替换####,例如:
Group1,Lisa with a client ID
Group2,
Mike with a boss ID
Tim with a boss ID
Joe with a boss ID
Group3,
Susan with a sales ID
Jenny with a sales ID
Group4
我想知道如何在分隔符之间的行的开头添加相同的序号?非常感谢!!
计算####
出现了多少次,并在每一行中输出结果。从 1 开始计数。
awk 'BEGIN{c=1} /^####/{c++; next} {print "Group" c "," [=10=]}' file
输出:
Group1,Lisa with a client ID Group2,Mike with a boss ID Group2,Tim with a boss ID Group2,Joe with a boss ID Group3,Susan with a sales ID Group3,Jenny with a sales ID