编写脚本命令查找 Company1 产生的总成本

Write a script command to find the total cost incurred by Company1

鉴于文件内容如下:

Company1 400
Company2 500
Company3 600
Company2 150
Company1 350

编写脚本命令以查找 Company1 产生的总成本。

#!/bin/bash

sum=0
check="Company1" 
while read -r checkin amount;
do
    if [[ "$checkin" == "$check"  ]];
    then
        (( sum+=amount ))
    fi
done < <(tr -d '\r' < money.txt)

echo "${sum}"

感谢

awk 很适合这个:

awk ' == "Company1"{sum += } END {print sum}' money.txt

awk 一次一行地处理输入文件,在空格处拆分字段。在此脚本中,将第一列与字符串 Company1 完全匹配的所有行的第二列添加到变量 sum。最后打印总和。

通过执行以下操作很容易进行参数化:

#!/bin/sh
    
company=${1-Company1}
    
awk 'tolower() == tolower(c) {sum += }
    END {print sum}' c="$company" money.txt