Answers:
您可以使用stat -c%s *filename*获取每个文件的大小,并且ls -l *.txt | wc -l(ls如果目录中没有* .txt文件,请注意会出错)以获取当前目录中的.txt文件数。
Bash,AFIK,不支持浮点运算,因此您需要使用其他程序来计算平均大小。我建议使用bc。
以下脚本将打印当前目录中所有* .txt文件的平均大小
#!/bin/bash
tsize=0
fcount=`ls -l *.txt | wc -l`
for f in *.txt
do
fsize=`stat -c%s $f`
tsize=`expr $tsize + $fsize`
done
average=`echo "$tsize / $fcount" | bc -l`
echo "Average size: $average"
请注意,ls如果当前目录中没有.txt文件,则会收到错误消息。
ls -l,du或stat -c %s根据需要输出),你在循环中做数学算术平均值。所以是的,这是可能的。