比较两个文件并将公共记录移动到另一个文件

时间:2016-02-18 10:49:48

标签: unix join awk

有两个文本文件。

File1:
xchg_rat_to_cncy_cd=PLN
xchg_rat_to_cncy_cd=PLZ
xchg_rat_to_cncy_cd=PTE

File2:
epoc_id=1455718545/xchg_rat_to_cncy_cd=PLN
epoc_id=1455718545/xchg_rat_to_cncy_cd=PLZ
epoc_id=1455718545/xchg_rat_to_cncy_cd=PTE

*字段数不限于file1中的1或file2中的2。但第二个文件将始终将额外列作为第一个字段。

这是我到目前为止所尝试的,file1有一列,file2有2列。

awk -F'/' 'FNR==NR{a[$2]=$1;next} ($1 in a) {print a[$1],$1}' FILE1 FILE2

但这仅限于具有1列的file1和具有2列的file2。 我希望它可以扩展,以便它可以处理n列的文件。

请提出解决方案

1 个答案:

答案 0 :(得分:0)

预期的输出有点不清楚,但试试这个:

grep -f FILE1 FILE2

grep -o -f FILE1 FILE2
xchg_rat_to_cncy_cd=PLN
xchg_rat_to_cncy_cd=PLZ
xchg_rat_to_cncy_cd=PTE