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
我还建议阅读猫的无用用途。