gpt4 book ai didi

linux - 读取子文件夹中的特定行并计算平均值

转载 作者:太空宇宙 更新时间:2023-11-04 05:14:28 26 4
gpt4 key购买 nike

我是 Linux 脚本编写新手。我有文件夹可以说

/movies
/movies/starting_with_a/metric.txt
/movies/starting_with_b/metric.txt

metric.txt 的示例内容:

dummy_first_line
actual data = 8

我想读取所有子文件夹中的 metric.txt 并计算该文件夹的平均值。

我当前提取值的代码是:

for i in $(find . -name 'metric.txt');do cat "$i" | sed -n '2p'|awk '{print $NF}'

最佳答案

你几乎做对了。您只需提供命令的输出即可:

for i in $(find . -name 'metric.txt');do cat "$i" | sed -n '2p'|awk '{print $NF}'

到 AWK 计算平均值:

awk '{ sum += $NF; cnt += 1 } END { printf "%.2f\n", sum/cnt }'

这里我使用两个 AWK 命令来完成此操作(不需要执行 catsed):

for i in $(find . -name 'metric.txt'); do
awk 'NR == 2 { print $NF }' "$i";
done | awk '{ sum += $NF; cnt += 1 } END { printf "%.2f\n", sum/cnt }'

关于linux - 读取子文件夹中的特定行并计算平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51202844/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com