首页 > 解决方案 > 在 linux 中使用 awk 命令获取特定值

问题描述

我有以下文件。

cat test.txt
NE|East
OR|East
WB|East
HP|North
HR|North
JK|North
NR|North
PB|North

我有一个变量 circle 存储以下值。 circle="JK"

现在,我想要与我的变量匹配的值。我使用了以下代码,但它没有为我提供任何输出。但是,当我手动编写“JK”时,它会显示我想要的结果。

awk -F '|' '{if($1==$circle) print $2;}' test.txt

awk -F '|' '{if($1 == "JK") print $2;}' test.txt North

请建议。非常感谢您的帮助。

标签: awk

解决方案


请您尝试以下操作。

val="$JK"
awk -v var="$val"  -F'|' '$1==var{print $2}' Input_file

推荐阅读