使用shell命令按类别获取总和
我有这个样本数据。我需要找到每种颜色的总数 输入:使用shell命令按类别获取总和,shell,Shell,我有这个样本数据。我需要找到每种颜色的总数 输入: Blue,20 Blue,10 Black,13 Red,8 Black,10 Red,10 Blue,21 输出: Blue,51 Black,23 Red,18 感谢您的回答。在纯bash中: #!/usr/bin/env bash declare -A totals=( ) while IFS=, read -r category value; do (( totals[$category] += value )) done
Blue,20
Blue,10
Black,13
Red,8
Black,10
Red,10
Blue,21
输出:
Blue,51
Black,23
Red,18
感谢您的回答。在纯bash中:
#!/usr/bin/env bash
declare -A totals=( )
while IFS=, read -r category value; do
(( totals[$category] += value ))
done
for category in "${!totals[@]}"; do
sum=${totals[$category]}
echo "$category,$sum"
done
您可以看到它正在运行--为手头的输入发出所需的输出--在尝试类似这样的“awk'{print$NF}'| awk'{n+=$1};END{print pat n}'”,但不是通过每个类别获得。