Questions tagged «diff»

diff是一个shell命令,用于查找两个文件之间的差异。在所有基于* nix的系统上都很常见

4
Linux上大型文件的二进制差异/补丁?
我有两个分区映像(A和B),并希望使用它们创建一个补丁,我可以将其应用到另一台计算机上的A上,以便在不淹没网络的情况下获得新的B映像。我有以下要求: 在Linux上工作 可以创建差异 可以使用差异来修补文件 可以处理二进制文件 可以处理大文件(几百GB应该可以工作) 无需用户交互(只需一个控制台应用程序) 理想情况下,应该能够读取/写入管道(以便我可以从gzip压缩文件中将其插入管道并写入其中) 是否存在类似的东西?
13 linux  diff  patch 


4
如何忽略差异中的移动行
我目前正在使用源代码生成工具。为确保所做的更改不会引入任何新的错误,diff更改前后的程序输出在理论上将是一个有价值的工具。 但是,事实证明这比人们想象的要难,因为该工具import以半随机排序的方式输出顺序无关紧要的行(如语句,函数声明等)。因此,的输出diff杂乱无章,实际上只有行移到了同一文件中的另一个位置。 有没有办法使diff忽略这些移动,而只输出真正添加或删除的行?
11 diff 

2
如何从tcpdump或Wireshark中区分出两个网络转储?
我的客户的嵌入式计算机出了问题。他们似乎丢弃了一些他们不应该丢弃的网络数据包。我可以使用Wireshark从框外的托管交换机捕获TCP通信,我也可以设法使用tcpdump从内部捕获所有数据。我可以将两个转储加载到Wireshark并自己比较它们。但有没有更简单的方法来只看到两个这样的转储文件之间的差异?


4
用于比较单行文本的工具
有比较两行文字的工具吗? 我在行级别上比较的所有工具,当我真的需要行中的字符级差异时。 Windows或* nix,GUI或命令行,我不在乎。
9 diff 

3
用于为Windows应用补丁文件的GUI工具
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为超级用户的话题。 7个月前关闭。 Windows有许多不错的GUI差异工具(我使用Araxis Merge和kDiff3),但是没有一个(我能找到)会应用补丁文件。我希望它像这样工作:我在工具中打开了一个基本文件和一个补丁。我应该获得一个带有基本文件在左侧的差异视图,以及右侧应用了补丁的文件的外观。然后,我可以将结果文件保存在某处(可能是在清除冲突后)。 这似乎是一件显而易见的事情,令我震惊的是我现有的工具没有做到这一点。此功能是否存在于某些地方(用于Windows?)
8 windows  gui  diff 

2
diff输出的格式化
我有2个文件,我想要有所不同。生成文件B,将一些新行附加到文件A.我想通过使用突出显示附加数据diff。 我想避免打印下面输出的'>'字符和'10a11,14'。 阅读diff我的手册页可以看到你可以指定结果的格式(LFMT),但我正在努力创造有用的东西。 你能帮我删除那些我不需要的角色吗? 问候 AFG diff --left-column A.txt B.txt 10a11,14 > TXT : some text > some text > some text > some text
6 linux  shell  diff 



1
ntfsclone映像的增量备份
我试图在Linux上使用ntfsclone对Windows分区进行压缩增量备份。目前,我使用类似以下命令的方式制作完整的ntfsclone图像: sudo ntfsclone -s -t -o - /dev/sda2 | xz -zc > new-backup.ntfsclone.xz 我想要做的是通过使用先前的备份和ntfsclone输出流创建增量文件来执行增量备份,而不是在每个备份会话中创建新的ntfsclone映像。 我知道创建二进制文件的差异并不容易,并且为此目的存在多个工具(rdiff,xdelta,bsdiff等);但是,它们都需要两个源文件存在于磁盘上,并且无法直接比较输出流中的数据。 换句话说,是否有任何二进制流的解决方案可以执行类似以下命令的操作? diff -u <(xz -dc old-backup.ntfsclone.xz) \ <(sudo ntfsclone -s -t -o - /dev/sda2) \ | xz -zvc > new-backup.ntfsclone.delta.xz 显然,上面的命令不起作用,但我希望能够解压缩旧图像,将其与Windows分区的ntfsclone表示进行比较,并在一步中通过比较创建压缩增量图像。 一些条件是: 流程必须使用 ntfsclone Deltas必须是可修补的 直 到磁盘 优选地,一切都在一个步骤中进行 也可以(并且可能更好)通过将ntfsclone图像恢复为管道并通过直接比较来创建diff来创建delta文件 /dev/sda2,因为这可能会创建一个较小的输出文件,但这样做会使过滤掉未分配的磁盘空间变得复杂。 (也就是说,我们必须将未使用的磁盘空间归零或做类似的事情 diff -u <(xz -dc …

1
跳转到vim中当前补丁大块的文件/行
如果我在vim中查看多文件差异 - 例如通过运行生成的差异 :VCSDiff 在一个 netrw 缓冲区 - 我将光标放在特定的块上,有没有办法在另一个窗口中跳转到受影响的代码,这样我就可以更好地了解差异在做什么?

1
关于emacs ediff目录中的regexp
我想比较两个具有相似层次结构的目录。 通过Emacs中的“ Mx ediff-directories”,系统提示我输入一个正则表达式来约束我要比较的文件名。例如,我想比较名称以.c或.h结尾的文件。然后我输入“。*。[ch]”,但是,我发现它只对顶级目录起作用,但是我希望正则表达式对所有子目录中的文件都起作用,无论深度如何它是。 任何想法?
2 emacs  regex  diff 

0
diff不会递归地工作
我正在尝试使用命令行diffutil 递归地区分两个目录。我有两个文件夹,diff1并且diff2,内容如下: diff2是空的。但是,当我这样做时,diff -r diff1 diff2我才会得到 $ diff -r diff1 diff2 Only in diff1: folder Only in diff1: test.html 这很令人烦恼。我需要做什么来diff递归工作?我试过了--recursive,但这没有用。我在埃尔卡皮坦,diff -v我得到了diff (GNU diffutils) 2.8.1。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.