面试题答案
一键面试#!/bin/bash
max=
min=
sum=0
while read -r num; do
if [ -z "$max" ] || (( num > max )); then
max=$num
fi
if [ -z "$min" ] || (( num < min )); then
min=$num
fi
sum=$((sum + num))
done < large_file.txt
echo "最大值: $max"
echo "最小值: $min"
echo "总和: $sum"
上述脚本通过while read -r
逐行读取大文件,在读取过程中不断更新最大值、最小值并累加数字,从而在较低内存占用下实现计算要求,且可在Linux和macOS等不同操作系统下稳定运行。注意将large_file.txt
替换为实际的大文本文件名。