我有两个文件,比如说file1
和file2
,要比较并放在file3
。用awk命令比较两个文件
file1
:
red
green
blue
red
yellow
pink
orange
file2
:
domain1,red,-
domain2,-,green
domain3,blue,-
domain4,yellow,pink
domain5,grey,orange
现在我需要输出为file3
如下:
domain1,red
domain2,green
domain3,blue
domain1,red
domain4,yellow
domain4,pink
domain5,orange
对于file1
每个记录,如果匹配,它需要产生$1
作为必填项,并且匹配值为$2
或$3
从file2
,如果两个($ 2,$ 3)匹配,则它应该在两个记录(单个记录也可以)中为“domain5,pink,orange”。
我是awk命令的新手。请帮我用awk
实现这个!
我有这个简单的命令,它不sufficing我的病情
awk 'NR==FNR{x[$1];next}($2,$3) in x' FS=',' file1 file2 >file3
请解释为什么有两个'域1,在输出red'?错字? – Kent
因为我在file1中有两次红色,红色的搜索模式发生两次。 – user2407164
呃..我现在看到..我的答案隐式删除重复,不正确...删除.. – Kent