【发布时间】:2020-06-05 16:36:39
【问题描述】:
我想将 file1 第 4 列与 file2 第 1 列与 awk 合并,我想从文件 $1 打印第 2 列。如果有多个匹配项(可能超过 100 个),则以逗号分隔打印。
文件1:
alo descrip 1 PAPA
alo descrip 2 LOPA
alo descrip 3 REP
alo descrip 4 SEPO
dlo sapro 31 REP
dlo sapro 35 PAPA
文件2:
PAPA klob trop
PAPA kopo topo
HOJ sasa laso
REP deso rez
SEPO raz ghul
REP kok loko
输出:
PAPA klob trop descrip,sapro
PAPA kopo topo descrip,sapro
HOJ sasa laso NA
REP deso rez descrip,sapro
SEPO raz ghul descrip
REP kok loko descrip,sapro
我试过了:
awk -v FILE_A="FILE1" -v OFS="\t" 'BEGIN { while ( ( getline 0 ) { 价值 = $0 ;子( /^[^ ]+ /, "", VAL ) ; DICT[ $1 ] = VAL } } { 打印 $0, DICT[ $4 ] }' 文件 2
但它不起作用。
【问题讨论】:
-
根据您的要求,我认为this 可能是您所需要的。
-
如果我对两个文件都有重复,这不是问题吗?