给定的键从 *nix 中的查找表中获取值?

给定的键从 *nix 中的查找表中获取值?

table.txt我有一个有两列的“查找表”

key1 value1
key2 value2
key3 value3
....

现在给定一个 key keyQ,我怎样才能得到它的值呢?

我试过

v=$(cat table.txt | awk '$1=="${key}" {echo $2}),

但这似乎不适用于多行。

答案1

您必须使用选项传递 awk-v变量

KEY=key2
awk -v key=${KEY} '$1==key { print $2 }' table.txt

如果您想在第一场比赛后退出,可以使用。

KEY=key2
awk -v key=${KEY} '$1==key { print $2; exit }' table.txt

我还建议阅读猫的无用用途

相关内容