0

我试图比较 Solaris 盒子上的 2 个文件,只看到不相似的行。我知道我可以使用下面给出的命令来查找不完全匹配的行,但这对于我尝试做的事情来说还不够好。

comm -12 <(sort FILE1.txt | uniq) <(sort FILE2.txt | uniq) > diff.txt

出于这个问题的目的,我将 simlar 定义为大约 80% 的时间具有相同的字符,但完全忽略不同的位置(因为不同的部分也可能在长度上有所不同)。可以假设不同的位置出现在线路中大致相同的点。换句话说,一旦我们找到不同的位置,我们就必须弄清楚何时再次开始比较。

我知道这是一个很难解决的问题,并将感谢任何帮助/想法。

编辑:

示例输入 1:

Abend for SP EAOJH with account s03284fjw and client pewaj39023eipofja,level.error
Exception Invalid account type requested: 134029830198,level.fatal
Only in file 1

示例输入 2:

Exception Invalid account type requested: 1307230,level.fatal
Abend for SP EREOIWS with account 32192038409aoewj and client eowaji30948209,level.error

示例输出:

Only in file 1

我也意识到,如果文件没有一次全部读入内存,那将是理想的,因为它们可能接近 100 个演出。由于这种需要,也许 perl 会比 bash 更好。

4

0 回答 0