gpt4 book ai didi

awk 命令接受两个变量作为参数并返回一个值

转载 作者:行者123 更新时间:2023-12-04 20:42:06 25 4
gpt4 key购买 nike

我有一个有 50 行的文件。每行由三列组成。前两列是变量,这将作为参数传递以返回第三列的值。
例如..
command_file.txt 是文件,它包含

A B 10C D 20E F 30G H 50I J 70...

I have a script with the following command.

#!/user/bin/shREAD_FILE=/export/home/user/command_file.txtVA1=AVA2=BGET_VALUE=`awk '/ -v var="$VA1" '$1 ~ var' -v var1="$VA2" '$1 ~ var1''/ $READ_FILE l awk '{print $3}'`echo $GET_VALUE

When I call this script passing A and B as parameters I expect a value of 10 to be returned.But it returned errors.But if I hard code the value on the below command it will work.

GET_VALUE=`awk '/A B'/ $READ_FILE lawk '{print $3}'`

有什么建议么?
谢谢。

最佳答案

您必须在 awk 脚本开始之前使用 awk's 变量传递以避免毛茸茸的引用,并修复其他问题:

#!/user/bin/sh
READ_FILE=/export/home/user/command_file.txt
VA1=A
VA2=B
GET_VALUE=$(awk -v var="$VA1" -v var1="$VA2" '$1 ~ var && $2 ~ var1 {print $3}' $READ_FILE)
echo $GET_VALUE

关于awk 命令接受两个变量作为参数并返回一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1569066/

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