AWK 关联数组、映射或哈希映射

2024-03-01

假设我有两个文件:

文件1 - 地图.txt

1, 178246
2, 289789
3, 384275
4, 869282

文件2 - 关系.txt

178246, 289789
384275, 178246
384275, 869282

预期结果是:

1, 2
3, 1
3, 4

但我使用以下代码得到的结果是:

awk 'FNR==NR{map[$2]=$1} {$1=map[$1];$2=map[$2];print $0}' map.txt relation.txt

  2,
  1,
  4,

当我像这样交换 map.txt 中的列时,它很困惑:

178246, 1
289789, 2
384275, 3
869282, 4

relation.txt 没有改变

结果变成:

awk 'FNR==NR{map[$1]=$2} {$1=map[$1];$2=map[$2];print $0}' map.txt relation.txt

1,
3,
3,

{$1=map[$1];$2=map[$2];print $0} 附近似乎有问题


awk  -F"[, ]" 'NR==FNR {m[$3]=$1;next};{print m[$1]",",m[$3]}' map.txt relations.txt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AWK 关联数组、映射或哈希映射 的相关文章

随机推荐