gpt4 book ai didi

shell - 如何在 shell 中使用 awk 变量

转载 作者:行者123 更新时间:2023-12-04 16:17:56 25 4
gpt4 key购买 nike

我有以下结构(只有一行)

col1  col2  col3  col4
----------------------
12 34 14 10

我要做的是获取 col2 和 col4 并在 shell 中使用该值。

a=$(awk 'NR<2{$2}')
b=$(awk'NR<2{$4}')

我必须在 shell 脚本中使用 a 和 b。但这不是一个好主意,因为我正在使用 awk相反,我两次获取这样的值。

awk'NR<2{ a=$2;b=$4}'

但我不知道如何在我的 shell 中使用这个 a 和 b。

最佳答案

使用 eval,您可以在一个 awk 命令中分配更多 shell 变量。请参阅下面的测试:

kent$  echo $a,$b
,

kent$ cat test
col1 col2 col3 col4
----------------------
12 34 14 10

kent$ eval $(awk 'NR==3{print "a="$2;print "b="$4}' test)

kent$ echo $a,$b
34,10

请注意,我刚刚复制了您的输入示例,其中包含标题/标题等,因此在我的脚本中数据行为 NR=3。如果不符合您的情况,您可以调整它。

关于shell - 如何在 shell 中使用 awk 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13641916/

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