gpt4 book ai didi

shell - awk 中的外部变量

转载 作者:行者123 更新时间:2023-12-03 00:17:40 32 4
gpt4 key购买 nike

我有一个脚本,其中脚本片段是:

x=3
awk '$2=$x{print $1}' infile

外部变量是x

但是awk提示错误

那么在这种情况下,如何让awk成功运行呢?

最佳答案

您可以使用 -v 选项传递一个外部变量以在 awk 中使用:

some_variable=3
awk -v x=$some_variable '$2 == x {print $1}' infile

另请注意,您需要将代码从 $2=$x 更改为 $2 == x

  • 使用 == 代替 =:后者是赋值
  • 不要在 awk 脚本中使用 $ 为普通变量添加前缀。

旁白:您需要为每个要传入的变量指定一个 -v,例如:

var1=2
var2=4
awk -v x=$var1 -v y=$var2 '$2 == x {print y " " $1}' infile

关于shell - awk 中的外部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13458804/

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