【发布时间】:2019-02-01 11:13:51
【问题描述】:
我有 2 个文件 rec1.txt 和 rec2.txt。
[gpadmin@subh ~]$cat ret1.txt
emcas_fin_bi=324
emcas_fin_drr=3294
emcas_fin_exp=887
emcas_fin_optics=0
emcas_gbo_gs=3077
和
[gpadmin@subh ~]$ cat ret2.txt
emcas_fin_bi=333
emcas_fin_drr=5528
emcas_fin_exp=1134
emcas_fin_optics=0
emcas_fin_revpro=0
emcas_gbo_gs=3897
我提供比较为:-
[gpadmin@subh ~]$ diff -y ret1.txt ret2.txt
emcas_fin_bi=324 | emcas_fin_bi=333
emcas_fin_drr=3294 | emcas_fin_drr=5528
emcas_fin_exp=887 | emcas_fin_exp=1134
emcas_fin_optics=0 emcas_fin_optics=0
emcas_gbo_gs=3077 | emcas_fin_revpro=0
> emcas_gbo_gs=3897
我从上面的输出中看到这是错误的输出,因为 emcas_gbo_gs 很常见,但显示为新词:-
emcas_gbo_gs=3077 | emcas_fin_revpro=0
> emcas_gbo_gs=3897
期望的输出:-
emcas_gbo_gs=3077 | emcas_gbo_gs=3897
> emcas_fin_revpro=0
【问题讨论】:
-
你想要的输出和你得到的除了顺序是一样的,顺序对你很重要吗????请考虑添加完整的预期输出
-
是的@Inder,因为我的输出是错误的,所以在第二列 emcas_gbo_gs 与第一列匹配,但它显示为新条目并与其他 emcas 匹配......这是错误的。跨度>
-
所以你只想要两个文件中的唯一值??基于'='之前的唯一值???
-
好的...我将尝试以另一种方式解决此问题...您可以通过用第一个文件减去第二个文件来帮助我找到第三个文件中两个文件的差异。但是第二个文件中的任何新条目也应该在最终(第三个)文件中捕获。
-
您真的需要像
diff那样将输出格式化成列吗?
标签: bash unix awk scripting text-processing