为了更具体地说明路径,例如我有如下文件;
文件.txt
apple;10; tomato;5; apple;5; banana;10; banana;5; tomato;10; banana;10; apple;5;
我想使用 bash 按项目对数字求和作为结果;
文件.输出
apple;20; banana;25; tomato;15;
另一个词是我需要简化文件。如何在 bash 中将这种输出作为单独的文件实现?
提前谢谢。
尝试遵循awk,如果您需要与Input_file相同的顺序输出,那么遵循可能会对您有所帮助。
awk -F";" '!a[$1]{b[++i]=$1} {a[$1]+=$2;} END{for(j=1;j<=i;j++){print b[j] FS a[b[j]] FS}}' Input_file
输出将如下所示。
apple;20;
tomato;15;
banana;25;
如果您不按照自己的Input_file来打扰顺序,那么您可以简单地尝试以下操作:
awk -F";" '{a[$1]+=$2;} END{for(i in a){print i FS a[i] FS}}' Input_file