gpt4 book ai didi

linux - Bash Awk 划分得到不同的结果

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:26:56 24 4
gpt4 key购买 nike

我正在尝试使用 awk 计算一些值。但是当除以 100 并使用 linux 命令 getconf CLK_TCK 时,我得到了不同的结果。

在我的例子中,命令总是返回 100:

[centos@op5test1 ~]$ getconf CLK_TCK
100

现在我正在尝试使用上述命令输出值计算一些值。

[centos@op5test1 ~]$ echo 26178 4861 | awk '{print ($1+$2)/$(getconf CLK_TCK)}'
1.18569

现在给值 100

[centos@op5test1 ~]$ echo 26178 4861 | awk '{print ($1+$2)/100}'
310.39

为什么我得到不同的值?

最佳答案

从命令行传递 getconf 命令输出的正确方法:

echo 26178 4861 | awk -v val=$(getconf CLK_TCK) '{print ($1+$2)/val}'
310.39

$(getconf CLK_TCK) 当直接在 awk 命令中使用时,计算结果为 $0,即 26178 4861然后你有效地做了:

print ($1+$2)/$0

正在执行此算术:

(26178 + 4861)/26178 => 1.18569

关于linux - Bash Awk 划分得到不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40007534/

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