【发布时间】:2019-01-04 10:22:26
【问题描述】:
我正在尝试在 shell 中使用 AWK 命令查找表,以将列替换为与第一个文件匹配的另一个列值。
awk 'FNR==NR{a[$1]=$1,a[$2]=$2;next}{print a{$1],a[$2]}' file1.txt file2.txt
我没有取得任何成功。请帮助我使用 AWK 命令语法,它会给我想要的输出结果。
文件1.txt
VALUE_TCP21:Z9E1AG.PNT ABC1 SILVER
VALUE_TCP21:Z9E1CU.PNT ABC1 COPPER
VALUE_TCP21:Z9E1RH.PNT ABC1 HUMIDITY
VALUE_TCP21:Z9E1TT001.PNT ABC1 TEMP
文件2.txt
VALUE_TCP21:Z9E1AG.PNT 3716.09
VALUE_TCP21:Z9E1CU.PNT 4015.55
VALUE_TCP21:Z9E1RH.PNT 54.4023
VALUE_TCP21:Z9E1TT001.PNT 24.9414
期望的输出:
ABC1 SILVER 3716.09
ABC1 COPPER 4015.55
ABC1 HUMIDITY 54.4023
ABC1 TEMP 24.9414
【问题讨论】:
-
当一个文件中的$1在另一个文件中不存在时应该打印什么?
-
实际我是映射标签永远不会发生。