Questions tagged «diff»

diff-命令行工具,用于显示两个文件或两个目录中每个对应文件之间的差异。

3
如何“合并”两个文本文件?
我最近从Ubuntu 12.04升级到12.10,有一次它在中遇到Apache配置文件冲突apache2.conf。那时我没有给我合并选项,所以我拒绝了新文件,安装程序将新文件另存为apache2.conf.dpkg-dist。 我可以将两个文件进行比较,diff apache2.conf apache2.conf.dpkg-dist并得到不同的行。但是我想手动合并两种方法,例如我如何解决SVN或git中的合并冲突。我怎样才能做到这一点?
13 linux  ubuntu  diff  etc  merge 

1
严格逐行比较两个文件,没有插入或删除
我有两个文件,它们实质上包含十六进制格式的内存转储。目前,我使用diff来查看文件是否不同以及差异在哪里。但是,这在尝试确定差异的确切位置(即内存地址)时可能会产生误导。考虑以下示例并排显示两个文件。 file1: file2: 0001 | 0001 ABCD | FFFF 1234 | ABCD FFFF | 1234 现在diff -u将显示一个插入和一个删除,尽管两个文件之间的3行(内存位置)已更改: 0001 +FFFF ABCD 1234 -FFFF 有没有一种简单的方法可以比较两个文件,以便仅将另一行与另一文件中的同一行(就行号而言)进行比较?因此,在此示例中,它应报告最后3行已更改,并且从file1和更改了行file2。输出不必是diff风格的,但是如果可以对其进行着色,那将是很酷的(目前,我diff -u使用来对输出进行着色,sed以便可以轻松地对其进行修改)。


3
diff -r仅适用于某些文件类型
有没有一种方法可以执行两个目录的递归比较,但仅比较(在各自位置)匹配特定文件名或文件类型谓词的文件? 例如,我想这样做的东西像 diff -r dir-a dir-b -filenames *.java, ivy.xml, build.xml ...甚至更好: diff -r dir-a dir-b -filetype text 显然,并不是强制性使用,diff因为我认为有一个咒语,find并且-exec diff也可能会成功(我只是不知道在后一种情况下如何生成互补文件路径)。

5
文件头不同
我有两个文件。我怀疑一个文件是另一个文件的子集。有没有一种方法可以区分文件(以简洁的方式)以确定第二个文件在第一个文件中的合适位置?
11 diff 

3
比较bash中两个文件的头
我可以diff filea fileb看到文件之间的区别。我也head -1 filea可以看到filea或fileb的第一行。如何合并这些命令以显示filea第一行和fileb第一行之间的区别?
11 bash  shell  diff  head 

1
识别文件中的重复文本块
是否有一种简便的方法来识别文件中重复的文本或接近重复的文本块? 我想用它来识别代码重复。看起来有些专业程序具有此功能,但我不想参与其中。 我希望有一个类似于diff的工具,可以进行某种“文件内”比较。甚至更好的是在单个文件中的vimdiff。

1
差异仅显示行内的差异
我想比较两个文件中的行,但为了最大程度地减少输出中的噪音,我只希望打印行中的实际差异。 例如,给定以下两个文件: a.txt a b c d e f g h i j k l m n o p q r s t u v w x y z b.txt a B c d e f g h i j k l m n o p q r s t …

2
按字符比较
Linux中是否有稳定的工具(现有工具的选项/插件:vimdiff,diff等)来按字符方式对两个文本文件进行比较? 我希望看到两个文件之间最长的公共子序列突出显示。有一个经典的多项式时间算法,但是标准工具似乎只能逐行工作。

1
Linux中是否有bdiff(1)?
bdiff(1)Solaris中有命令,该命令允许您将diff(1)文件大小大于RAM大小(http://docs.oracle.com/cd/E19683-01/806-7612/files-23/index.html)。 Linux中有类似的东西吗?我尝试使用谷歌搜索,但找不到bdiff在Ubuntu中具有哪个软件包。
9 diff 

2
如何将新文件包含到补丁中
我尝试制作一个此处介绍的补丁。 说我有两个目录,pp1(modified version)然后用以下命令pp0(clean version)制作一个补丁文件:pp0.patchdiff diff -crB pp0 pp1 > pp0.patch 问题是,如果仅在pp1中有一个文件,它将不会包含在补丁中。如何解决呢? 更新: 我首先进入pp0目录,并测试补丁是否成功 patch --dry-run -p1 -i /path-to-pp0.patch 尽管我已经添加--new-file了diff命令,但pp1结果中未列出仅那些 更新: 我不小心修补了错误的文件,因此 diff -crb --new-file pp1 pp0 > pp0.patch 要么 diff -crNb pp1 pp0 > pp0.patch 会做
9 diff  patch 

4
如何使用“ diff”命令获得最大收益?
diff过去,我尝试使用linux 命令时没有多大的运气或耐心。我通常最终会使用GUI工具,例如DiffMerge或Kdiff。 最近,我开始尝试diff再次使用它通过ssh比较远程系统上的文件,并且我发现该-y / --side-by-side选项非常有用,但是我仍然觉得我没有充分利用此实用程序。 所以我很好奇如何实现以下目标: 突出显示更改或使用颜色编码使输出更具可读性 合并-选择具有差异的行并将更改生效到文件之一 此外,在谷歌搜索时,我还没有找到很多很好的例子,因此,如果您有一些Linux-fu的秘密,可以最大程度地利用diff,请分享一下吗?我将主要比较基于文本的配置文件,但是任何技巧都将是很棒的。 供参考 -DiffMerge实用程序可以轻松地将更改与颜色突出显示并排显示。顶部的图标可让您在“显示全部”,“显示差异”和“根据上下文显示差异”的视图之间切换。在命令提示符下喜欢其中一些功能。 ps:我还应该注意,我发现另一种非常有用的选择是--suppress-common-lines我在这篇简洁易读的博客文章中了解到的。

6
比较目录1中而不是目录2中的文件?
我要制作的bash脚本遇到问题 我知道ls将列出目录中的文件,但是我希望它列出目录1中但不在目录2中的目录,然后列出目录2中不在目录1中的文件。 我做了一次微弱的尝试: ls -al | diff directory1 directory2 很快我意识到了为什么它不起作用。谁能帮个全力以赴的书呆子?
9 bash  shell-script  ls  diff 

2
同一文件,由于编码问题,文件名不同?
我正准备从源中比较备份,以手动验证数据是否正确。某些字符(例如åäö)未正确显示在原始数据上,但是由于客户端(通过samba)正确解释了这些字符,因此无需担心。从备份还原的数据正确显示了字符,导致差异不认为它们是相同的文件(具有差异,而是完全不同的文件)。 md5总和,相同文件但名称不同。 # md5sum /original/iStock_000003637083Large-barn* e37c34968dd145a0e25692e1cb7fbdb1 /original/iStock_000003637083Large-barn p? strand.jpg # md5sum /frombackup/iStock_000003637083Large-barn* e37c34968dd145a0e25692e1cb7fbdb1 /frombackup/iStock_000003637083Large-barn på strand.jpg 挂载选项和文件系统 /dev/sdb1 on /original type ext4 (rw,noatime,errors=remount-ro) /dev/sdc1 on /frombackup type ext4 (rw) 语言环境 LANG=sv_SE.UTF-8 LANGUAGE= LC_CTYPE="sv_SE.UTF-8" LC_NUMERIC="sv_SE.UTF-8" LC_TIME="sv_SE.UTF-8" LC_COLLATE="sv_SE.UTF-8" LC_MONETARY="sv_SE.UTF-8" LC_MESSAGES="sv_SE.UTF-8" LC_PAPER="sv_SE.UTF-8" LC_NAME="sv_SE.UTF-8" LC_ADDRESS="sv_SE.UTF-8" LC_TELEPHONE="sv_SE.UTF-8" LC_MEASUREMENT="sv_SE.UTF-8" LC_IDENTIFICATION="sv_SE.UTF-8" LC_ALL= od -c # ls "/original/iStock_000003637083Large-barn …

1
彩色单词差异就像git一样?
我使用git的(彩色)功能已经很长时间了--word-diff,我觉得很棒。今天我发现自己处于一种情况,我有两个字符串,需要逐个单词地进行比较,并渴望获得git diff之类的东西。 我知道wdiff+ colordiff,但其结果肯定不是很出色: me@me:~$ wdiff <(echo -e "abc\ndef") <(echo -e "dbcx\ndef") | colordiff [-abc-]{+dbcx+} def 周围还有更好的选择吗?我特别不喜欢这些[-,-]并且{+,+}。
8 colors  git  diff  colordiff 

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.