我们正在做一个从 Informix 迁移到 Oracle 的数据迁移项目。现在需要比较 Informix 和 oracle 表之间的数据。因此 Informix 中的 Table1 将迁移到 Oracle 中的 Table1。
现在数据从Table1
Informix 迁移到Table1
Oracle。我将两个表中的数据放入 2 个平面文件中。我想看看 2 个文件中是否有任何数据差异。
File1
有 300 列的File2
100 万条记录和 300 列的 100 万条记录。File1
并且File2
是管道分隔的文件。所以差异可以在文件中的任何地方。几乎一整行都可以匹配,但一/两列可能存在差异。所以我想找出差异,记住以上所有事情。差异输出应该列出类似row1 in file1 is not matching with row1 in file2 at column 3
的内容以及两个文件中列的值。这两个文件的所有这些差异都需要在控制台上以通俗易懂的格式列出。
我只想用一个例子来解释它,以使其更清楚。
我的第一个文件如下所示:
col1|col2|col3|col4|col5|col6 1234|ramyakrishna|4567|ramya.krishna@worse.com|228802|更糟 1235|Chandan|4567|chandan.kumar@worse.com|228862|更糟 1236|Kacitha|4567|kacitha.mishra@worse.com|228872|更糟 1238|沙金|4567|shajin.mahesh@worse.com|228873|更坏
我的第二个文件如下所示:
col1|col2|col3|col4|col5|col6 1234|ramyakrishna|4567|ramya.krishna@good.com|228802|好 1235|Chandan|4567|chandan.kumar@worse.com|228789|更糟 1236|Kacitha|4567|kacitha.mishra@worse.com|228872|更糟
所以当我比较两个文件时。col4
我们看到和col6
中存在差异row2
。所以我想要这样的东西:
1234|ramyakrishna|4567|ramya.krishna@good.com|228802|好 :COL4-EXPECTED-ramya.krishna@worse.com:COL6-EXPECTED-worse
因此,应该打印第二个文件的上一行。然后应打印预期值。
我知道在使用任何脚本之前需要对文件进行排序。
对于 fge 的脚本,我得到如下输出:
我得到如下输出
$perl diff.perl 第 1 行:第 38 列的不同值(为 g,预期为 w) 第 1 行:第 40 列的不同值(为 o,预期为 r) 第 1 行:第 41 列的不同值(为 d,预期为 s) 第 1 行:第 42 列的不同值(原为 .,预期为 e) 第 1 行:第 43 列的不同值(为 c,预期为 。) 第 1 行:第 44 列的不同值(为 o,预期为 c) 第 1 行:第 45 列的不同值(为 m,预期为 o) 第 1 行:第 46 列的不同值(原为 |,预期为 m)
我想要整列比较。文件是|
分隔文件。