如何根据 shell 中的常量变量解析动态变量?

How do I parse for a dynamic variable based on constant variables in shell?

我正在尝试解析两个不同的文本文件并根据我在文本文件中找到的信息填充 2 个配置文件。

这是我正在使用的:

grep -w -o 50000 GranMap.txt.

响应:50000,这很好,但我想要该值后面的一些信息。

文本文件中的信息格式如下:

50001|Instrument|ATMS,

其中 50001 是常量,“Instrument”使文件易于阅读,“ATMS”是文件之间的变化(也是我想要的信息)。本质上,我想在文件中搜索 50001 以找出它等于什么。在这种情况下 50001 = ATMS.

如何搜索50001,跳过Instrument,抓取ATMS所在位置的值?也许有比使用 grep 更强大的方法来做到这一点?

非常适合这种“面向领域”的文本

awk -F '|' ' == 50001 {print }' GranMap.txt

id 值可以像这样传递到 awk 中:

constant=50001
awk -F '|' -v id="$constant" ' == id {print }' GranMap.txt