2013-10-15 61 views
5

我的需求是我需要得到输出如果两列不相等下面是我的代码。如何比较unix中的单个文件中的两列

输出如下,这里我的请求是例如第一不应该被打印,因为二者都是相等的第二个应该打印,因为两者都不相等。

cat testingfull.txt|sed -n '/"Exp_CDL_BOOKINGS_F"/,/TABLEATTRIBUTE NAME/p'|grep EXPRESSION | awk -F"\"" '{print $8,"=",$12}' 

BOOK_DATE_KEY=BOOK_DATE_KEY 
Lkp_BOOKINGS_FACT_KEY=iif(not isnull(i_BOOKINGS_FACT_KEY) and isnull(iif(BOOK_DATE_KEY<>Lkp_BOOK_DATE_KEY, NULL)),null,i_BOOKINGS_FACT_KEY) 
BOOKINGS_FACT_KEY=Lkp_BOOKINGS_FACT_KEY 

回答

7

比较列在您的awk命令:

awk -F'"' '$8!=$12 {print $8,"=",$12}' 
+0

由于其工作 –

+0

如果这个答案帮助你解决您的问题,请考虑将其标记为“已接受”,以便将来遇到类似问题的用户可以轻松查看。 – anubhava

+0

不应该是'awk -F''''$ 8 == $ 12 {print $ 8,“=”,$ 12} {print $ 8,“!=”,$ 12}''? – Ooker

2

这应该为你工作(线索给你的当前行):

... | awk -F'=' '$1!=$2{print}'