编写脚本命令查找 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
鉴于文件内容如下:
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