Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何比较两个巨大的文本文件(每个超过50gb)?_Bash_Unix_Text Files_Diff_File Comparison - Fatal编程技术网

Bash 如何比较两个巨大的文本文件(每个超过50gb)?

Bash 如何比较两个巨大的文本文件(每个超过50gb)?,bash,unix,text-files,diff,file-comparison,Bash,Unix,Text Files,Diff,File Comparison,我有两个巨大的文本文件,想找出它们之间的区别? 执行此任务的fast命令/实用程序/脚本是什么 我尝试使用unix diff,但对于大型文件,它失败了。它向我显示“权限被拒绝” 另外,我尝试了unix bdiff(正如我读到的,这对大型文件很有用),但我没有完成测试,因为它显示“bdiff:command not found” 另外,我尝试了windowsfc(文件比较),但不知道如何在新的文本文件中显示输出。cmd中的结果输出,我无法完全理解 任何建议都会对我有很大帮助。 在这件事上请帮助我

我有两个巨大的文本文件,想找出它们之间的区别? 执行此任务的fast命令/实用程序/脚本是什么

我尝试使用
unix diff
,但对于大型文件,它失败了。它向我显示
“权限被拒绝”

另外,我尝试了
unix bdiff
(正如我读到的,这对大型文件很有用),但我没有完成测试,因为它显示
“bdiff:command not found”

另外,我尝试了
windowsfc
(文件比较),但不知道如何在新的文本文件中显示输出。cmd中的结果输出,我无法完全理解

任何建议都会对我有很大帮助。 在这件事上请帮助我


非常感谢。

您可以使用
--speed large files
选项尝试
diff

diff --speed-large-files file1 file2
cmp
是另一种选择(逐字节比较文件):


如果
fc
适合您,您可以使用以下命令将
fc
的输出发送到文本文件:

fc file1 file2 >output.txt

diff
是一种方法,但您必须确保您有权访问这些文件。文件保存在哪里?文件的权限是什么?请不要问。@Munir我将所有测试文本文件放在同一个文件夹中,并且对该文件夹具有完全访问权限。对于小文件,它可以工作,但是对于大文件,它会给我这个错误。你确定大文件与小文件具有相同的权限吗?我建议询问。@Eugene当我尝试它时,系统会挂起!这不是我想要的。我想看看所有的不匹配。对于大约20GB的文件,我至少在WSL上得到了
diff:stack overflow
。谢谢。我现在尝试了一下,我在新文件中看到了结果,但是,似乎它并没有键入所有不匹配项!为什么?对于大文件来说,它工作得很好,但是,为什么不键入所有不匹配的内容呢?我想要的正是diff所做的。还有,为什么会有:Resync失败。文件太不一样了。所以当有很多不匹配的地方时,它只是试图找到(相似性)并停止比较!我不想那样。我想要一个工具,它可以将所有差异准确地输入diff实用程序。
fc file1 file2 >output.txt