2014-12-03 91 views
-4

有2个unix文件。我想将文件1中的行与文件2进行比较,并且如果文件1中的行与文件2打印成功相匹配,则打印失败。我必须在UNIX中执行此操作。unix中的逐行比较

12,ADW 
66,AIMS 
3,CCA 
85,CCDB 
3,GXS 
1,MDM 
4,medsapecc 
262,MIF 
434,PI_CHARGEBACK 
4,Pomniture 
2,PSCORE 
1,SDW 
1,SNT Tables 
5,VAPS 

第二个文件:

12,ADW 
25,AIMS 
3,CCA 
70,CCDB 
3,CHARGEBACK 
2,DISTRACK 
5,GENESYS 
3,GXS 
20,MDM 
14,MDSI 
2,MEDIGXS 
10,MEDSAPECC 
267,MIF 
15,P4 
2,PEDMDB 
2,PNSS 
2,POMNITURE 
3,PSCORE 
20,SDW 
5,VAPS 

输出文件应该是:

ADW SUCCESS 
AIMS FAIL 
CCA SUCCESS 
CCDB FAIL 
GXS SUCCESS 
MDM FAIL 

..等..请帮助?

+0

你应该张贴你写来解决这个问题,并解释究竟是什么并没有关于它的工作的代码。 – csmckelvey 2014-12-03 23:10:49

+0

UNIX是一个规范。 Linux(技术上GNU/Linux),OSX,BSD(FreeBSD,NetBSD,OpenBSD)等都是该规范的实现。当你说你必须在UNIX中这样做时,这并不意味着什么。您可以使用流行的shell脚本语言之一,如bash,zsh,sh,csh等。您可以使用Perl,Ruby,Python等。 - 您试图用哪种语言来实现您的目标? – SnakeDoc 2014-12-03 23:11:06

回答

0

随着

awk ' 
    NR==FNR{arr[$2]=$1;next} 
    {print $2, (arr[$2] == $1) ? "SUCCESS" : "FAIL"} 
' FS=, file1 file2