gpt4 book ai didi

linux - 想要在 awk 命令中使用变量的内部 if 外部

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

awk < MigStat.stat -F: '{ if ($a == "load")b=8; } $1 == "D0001" && FNR== '$c' {print $b}'

现在我想要打印 $b 列中存在的值,但在这种情况下它会打印整行。我想要做的是使用 if 语句中的 b 值来打印该列中的值

最佳答案

要传入值,请使用 -v 选项:

awk -F: -v a=2 -v c=10 '$a=="load"{b=8}$1=="D0001"&&FNR==c{print $b}' MigStat

注释:

  • 要传入变量,请使用 awk-v 选项。

  • awk 读取不需要使用重定向的文件。

  • awk的结构是condition{block}

  • awk 将变量初始化为 0,因此如果 b 尚未在 block $a=="load"{b=8} 中设置,则 {print $b} 将是 {print $0},其中 $0 是整行。

关于linux - 想要在 awk 命令中使用变量的内部 if 外部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15878840/

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