dnk*_*nkb 7 linux bash awk sed command-line
我有两个字段的巨大文本文件,第一个是字符串,第二个是整数。文件按第一个字段排序。我想在输出中得到的是每个唯一字符串一行以及相同字符串的数字总和。一些字符串只出现一次,而另一些则出现多次。例如,鉴于下面的示例数据,对于字符串 glehnia,我希望在结果中得到 10+22=32。
任何建议如何使用 gnuwin32 命令行工具或在 linux shell 中执行此操作?
谢谢!
glehnia 10 glehnia
22
glehniae 343
glehnii 923 glei
1171
glei
2283 glei
3466
gleib 914
gleiber 652
gleiberg 495
gleiberg 709
小智 5
在 AWK 中,您可以执行以下操作:
awk '($1 == last) || (last == "") {sum += $2}
($1 != last) && (last != "") {print last " " sum; sum = $2}
{last = $1}
END {print last " " sum}' huge_text_file.txt
Run Code Online (Sandbox Code Playgroud)