gpt4 book ai didi

bash - 将变量从 bash 传递到 awk

转载 作者:行者123 更新时间:2023-11-29 08:57:20 29 4
gpt4 key购买 nike

我正在编写一个 shell 脚本文件,我必须在其中打印文件的某些列。所以我尝试使用awk。列号在脚本中计算。 nprop 是 for 循环中的一个变量,从 1 到 8。

avg=1+3*$nprop
awk -v a=$avg '{print $a " " $a+1 " " $a+2}' $filename5 >> neig5.dat

我也试过以下方法:

awk -v a=$avg '{print $a " " $(a+1) " " $(a+2) }' $filename5 >> neig5.dat

这导致始终打印前三列。

最佳答案

avg=1+3*$nprop

这会将 $avg 设置为 1+3*4,例如,如果 $prop 为 4。您应该评估该表达式:

avg=$(( 1+3*$nprop ))

并使用带括号的 awk 脚本的版本。

关于bash - 将变量从 bash 传递到 awk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16340775/

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