我一直在努力编写一个包含2个参数的脚本,其中1个要求选择年份,而2个要求选择是否将最小值,最大值,平均值或全部显示为相关文件的最后一行。到所选年份。
基本上,我有一个目录,其中包含不同年份(2000、2001、2002等)的子目录,这些目录是几个月和几天的子目录,其中包含一个或多个通知不同人口(虽然不是真实信息)的文件城市作为最后一行。这是目录树的一部分:
.
|-- 2000
|   |-- 01
|   |   `-- 18
|   |       `-- ff_1177818640
|   |-- 02
|   |   |-- 02
|   |   |   `-- ff_1669027271
|   |   |-- 03
|   |   |   `-- ff_234075290
|   |   |-- 10
|   |   |   `-- ff_1584524530
|   |   |-- 14
|   |   |   `-- ff_113807345
|   |   `-- 17
|   |       `-- ff_1452228827
|   |-- 03
|   |   |-- 06
|   |   |   `-- ff_58914249
|   |   `-- 11
|   |       `-- ff_2828212321
|   |-- 04
|   |   `-- 17
|   |       `-- ff_302131884
|   |-- 06
|   |   `-- 13
|   |       `-- ff_2175615745
|   |-- 07
|   |   |-- 07
|   |   |   `-- ff_918426998
|   |   `-- 24
|   |       `-- ff_2808316425
|   |-- 08
|   |   `-- 27
|   |       `-- ff_1449825497
|   |-- 09
|   |   `-- 19
|   |       `-- ff_110255856
|   `-- 12
|       `-- 08
|           `-- ff_1621190
|-- 2001
|   |-- 03
|   |   `-- 21
|   |       `-- ff_517010375
|   |-- 05
|   |   `-- 27
|   |       `-- ff_1458621098
|   |-- 06
|   |   |-- 07
|   |   |   `-- ff_155853916
|   |   |-- 25
|   |   |   |-- ff_2382312387
|   |   |   `-- ff_270731174
|   |   `-- 29
|   |       `-- ff_3228522859
|   |-- 07
|   |   `-- 28
|   |       `-- ff_3215021752
|   |-- 09
|   |   `-- 24
|   |       `-- ff_1080314364
|   `-- 11
|       `-- 24
|           `-- ff_2313722442所有文件的格式均相同:
2019-04-03
Wednesday
Newcastle-upon-Tyne
255362我需要编写一个脚本来询问我需要哪一年(选择该目录),然后询问是否要显示上述平均值,最小值,最大值或全部来显示人口(这是文件的最后一行)。
这是我到目前为止所拥有的:
#!/bin/bash
function min () {
    echo $(sort -n populations | head -1)
}
function max () {
    echo $(sort -n populations | tail -1)
}
function avg () {
    count=0
    sum=0
    while read line ; do
        num='echo ${line#* }'
        sum='expr $sum + $num'
        count='expr $count + 1'
    done < populations
    avg='expr $sum / $count'
    echo $avg
}
echo "Please enter the year: "
read s1
echo "
        Enter an option:
        1. Minimum
        2. Maximum
        3. Average
        4. All"
read s2
#echo $s2
for file in $(find ~/filesToSort/$s1 -type f) ; do
    tail -1 $file >> populations
done
echo $(cat populations)
#min
#max
#avg
rm populations这使我可以选择目录,但没有给我所需的答案,只是吐出文件的最后几行。
                  因此,您想从“人口”文件中存储的数字进行数学运算吗?
                
                
                  
                    —
                    cmak.fr