使用 AWK 进行查找 Table 并将第一个文件的第一列替换为第二个文件的另一列
using AWK for Lookup Table and Replace first column of 1st file with another column of 2nd file
我正在尝试使用 shell 中的 AWK 命令进行查找 table 以将列替换为与第一个文件匹配的另一个列值。
awk 'FNR==NR{a[]=,a[]=;next}{print a{],a[]}' file1.txt file2.txt
我没有取得任何成功。请帮助我使用 AWK 命令语法,这将给我所需的输出结果。
File1.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
File2.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
awk 'FNR==NR{a[]= OFS ;next}{print a[],}' File1.txt File2.txt | column -t
简要说明,
FNR==NR{a[]= OFS ;next}
:在file1.txt中,赋值</code>作为key,<code> OFS
作为a中对应的值。
- 在文件 2 中,只是
print a[],
我正在尝试使用 shell 中的 AWK 命令进行查找 table 以将列替换为与第一个文件匹配的另一个列值。
awk 'FNR==NR{a[]=,a[]=;next}{print a{],a[]}' file1.txt file2.txt
我没有取得任何成功。请帮助我使用 AWK 命令语法,这将给我所需的输出结果。
File1.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
File2.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
awk 'FNR==NR{a[]= OFS ;next}{print a[],}' File1.txt File2.txt | column -t
简要说明,
FNR==NR{a[]= OFS ;next}
:在file1.txt中,赋值</code>作为key,<code> OFS
作为a中对应的值。- 在文件 2 中,只是
print a[],