我有两个巨大的文本文件(大小从1到5gb),我必须使用shell命令计算它们之间的差异。 问题是,对于这些文件的每一行,我必须忽略某些特定位置的字符。在
第一次我使用diff,从两个文件中删除了我必须忽略的内容:
diff<;(cut-b1-58,69-FILE1.TXT)<;(cut-b1-58,69-FILE2.TXT)>;输出.TXT
但问题是输出文件不包含剪切字符。在
示例
文件1:
0123456311020130123456
AAAAA A31102013AAAAA
BBBBBBB 31102013BBBBBBB
文件2:
0123456310920130123456
1111111 3109201311111
AAAAA B31092013AAAAAB公司
bbbbbbb 31092013bbbbbbb
diff必须忽略每行的8到15个字符,并在输出中返回新行:
输出:
1111111 3109201311111
AAAAA B31092013AAAAAB公司
有人能帮我吗?在
非常感谢, 弗朗西斯科
diff
可能不是合适的工具,因为您只对比较每一行的部分内容感兴趣,只希望从第二个文件输出。您需要编写自己的比较脚本,因为您只对每个文件中对应行之间的差异感兴趣,所以比较容易。Python中的一个示例:多亏了python的提示,我做到了:
对于两个大文件(2.8GB),大约需要20秒。在
谢谢大家!在
相关问题 更多 >
编程相关推荐