示例目录结构如下:
对于每一个txt文件的前n行格式不用管,最后一行格式都为:
price number
现在的要求就是计算指定目录下所有层级内txt文件中价格加起来的总值
本题可以通过两个考察点来作答
1. 目录的遍历与文件内容截取
#!/bin/bash
function total()
{
for file in `ls $1`
do
if [ -d "$1/$file" ]
then
total "$1/$file"
elif
nu=`tail -n 1 "$1/$file" | gawk '{print $2}'`
rtn=`expr $rtn + $nu `
fi
done
return $rtn
}
total "./test1"
echo 'total: '$rtn
2. 文件的查找与内容截取
find ./test1/ -name '*.txt' -exec tail -n 1 {} \;| awk 'BEGIN {total=0;}{total+=$2} END {print "total: "total}'
两种方式的运行结果: