awk - 在 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
请建议。非常感谢您的帮助。
解决方案
请您尝试以下操作。
val="$JK"
awk -v var="$val" -F'|' '$1==var{print $2}' Input_file
推荐阅读
- flutter - 如何在 Flutter 中使用工作管理器运行后台进程?
- javascript - 开玩笑无法模拟特定功能
- c# - 将数据网格中的数据发送到电子邮件地址的简单方法?
- javascript - 难以置信,相同的 Javascript 代码在 JSFiddle 中的行为方式不同
- javascript - 如何防止 TinyMCE 5 删除 \r\n
- javascript - 我的 for 循环在 javascript 中无法正常工作。它的迭代量少于应有的量
- typescript - 是否有任何选项可以更改 VSCode 中的自动实现 TypeScript 语言?
- sql - 查询两个表 - 返回不在两个表中的项目
- python - 使用python将句子中的每个单词替换为单词索引
- node.js - 必须提供 JWT - Delete 方法将令牌返回为 null 而不是用户令牌