2013-11-15 175 views
0

我有兩個UNL文件:Unix - 如何使用awk合併兩個文件?

#a.unl 
31
23371043 
23370043 
300054 
700988 
#twenty records like these 

#b.unl 
310123|name1| 
311123|name2| 
#almost a hundred records like these 
23371043|namex| 

我想用awk,這樣我可以參加與名稱a.unl記錄從b.unl這樣的:

#c.unl 
310123|namea| 
23371043|nameb| 
23370043|namec| 
300054|named| 
700988|namee| 

是否有可能使用awk? 還是我必須使用替代像加入?

非常感謝您的幫助

回答

1

使用awk

awk -F'|' 'NR==FNR{a[$0];next}$1 in a' a.unl b.unl 
+0

非常感謝你,這個工程。 – junda

+0

btw,有沒有辦法將結果打印到c.unl中? – junda

+0

@junda重定向輸出:'awk -F'|' 'NR == FNR {a [$ 0]; next}'a.unl b.unl> c.unl'中的$ 1 – devnull