我有兩個文件,比如說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