File 选择文件中一个字段值相同的行组
我不知道这个问题怎么说,所以我会尽力解释: 假设我有一个文件: 100001,ABC,400 100001,EFG,500 100001,ABC,500 100002,DEF,400 100002,EFG,300 100002,XYZ,1000 100002,美国广播公司,700 100003,DEF,400 100003,EFG,300 我想抓住每一行,并将它们分组在一起,其中每一行的第一个值相同。所以所有100001个一起,所有100002个一起,等等 我只需要你帮我弄清楚逻辑。不需要语言中的特定实现File 选择文件中一个字段值相同的行组,file,pseudocode,File,Pseudocode,我不知道这个问题怎么说,所以我会尽力解释: 假设我有一个文件: 100001,ABC,400 100001,EFG,500 100001,ABC,500 100002,DEF,400 100002,EFG,300 100002,XYZ,1000 100002,美国广播公司,700 100003,DEF,400 100003,EFG,300 我想抓住每一行,并将它们分组在一起,其中每一行的第一个值相同。所以所有100001个一起,所有100002个一起,等等 我只需要你帮我弄清楚逻辑。不需要语言中
伪代码很好。我假设行是按COL1排序的。 我假设“一起走”意味着它们被连接成一行 带有伪代码的逻辑:
while not EOF
read line
if not same group
if not first line
print accumulated values
start new group
append values
print the last group
在awk中,可以使用以下代码对其进行测试:
awk '
BEGIN { FS = ","; x=""; last="";}
{
if ($1 != last) {
if (x != "")
print x;
x=$1;
last=$1;
}
x=x";"$2";"$3;
}
END {print x;} '