标签: diff

仅在 DIFF 中列出一个文件中的行

我想让 (GNU)DIFF 仅打印出一个文件中不同的行。所以给出

    ==> diffa.txt <==
    line1
    line2 - in a only
    line3
    line4 changed
    line5

    ==> diffb.txt <==
    line1
    line3
    line4 changed in b
    line5
    line6 in b only
Run Code Online (Sandbox Code Playgroud)

我想diff --someoption diffa.txt diffb.txt生产

    line2 - in a only

    line4 changed
Run Code Online (Sandbox Code Playgroud)

下面的内容看起来应该有帮助,但有点神秘:

   --GTYPE-group-format=GFMT
          Similar, but format GTYPE input groups with GFMT.

   --line-format=LFMT
          Similar, but format all input lines with LFMT.

   --LTYPE-line-format=LFMT
          Similar, but format LTYPE input lines with LFMT.

   LTYPE is `old', `new', or `unchanged'.
          GTYPE is LTYPE …
Run Code Online (Sandbox Code Playgroud)

linux diff

37
推荐指数
3
解决办法
3万
查看次数

如何区分两个目录中的文件名(不写入中间文件)?

我正在尝试做一些事情:

diff `ls -1a ./dir1` `ls -1a ./dir2`
Run Code Online (Sandbox Code Playgroud)

但由于显而易见的原因,这不起作用。有没有比这更好的方法来实现这一点(在 1 行中)?

ls -1a ./dir1 > lsdir1
ls -1a ./dir2 > lsdir2
diff lsdir1 lsdir2
Run Code Online (Sandbox Code Playgroud)

谢谢

diff ls filenames

34
推荐指数
2
解决办法
3万
查看次数

我可以用自定义工具替换 Total Commander 中的内部差异吗?

因为我真的不喜欢 Total Commander 的内部差异比较内容按内容比较和同步目录中使用?比较 left 和 right,我想使用 WinMerge 或 KDiff3 之类的其他东西。

是否可以使用左右窗格中标记文件的路径启动外部程序?这将解决按内容比较。还有什么办法可以解决吗?我可以控制Synchronize Dirs以便在比较那里的文件内容时执行相同的操作吗?

还有其他建议可以使用外部差异程序轻松地在 Total Commander 中进行差异化吗?

diff winmerge total-commander

32
推荐指数
1
解决办法
2万
查看次数

在一个长的单行文件上使用 diff

我有一个只有一行的文件。它的大小约为 20,000 字节。

文件已被修改,我想知道在哪里。

我想使用 diff,但它向我显示了完整的行,因为它输出了有差异的行 - 但在这种情况下,它是文件中唯一有差异的行。

所以我想看看有什么区别。

有什么建议吗?

linux diff

32
推荐指数
3
解决办法
2万
查看次数

如何让 'diff -X' 忽略特定路径而不是文件名?

正在做: diff -r -X <ignore-list> <src-dir> <dest-dir>

如果它们的形式为 ,则似乎不会diff忽略条目。<ignore-list><dir>/<file>

表单的条目<file> 确实会被考虑。这是一个问题,因为我可能<file>在不同的子目录中命名了多个文件,其中一些我不想忽略。

在联机帮助页中似乎没有太多关于模式语法的信息diff。据我所知,它只是 diff 考虑的文件的基本名称(如果您感兴趣,请参阅http://forums.gentoo.org/viewtopic-t-889788-start-0.html)。

linux diff

32
推荐指数
1
解决办法
4万
查看次数

如何在Windows下比较大文件?

我想比较 Windows 下的两个文件,每个文件的大小约为 1Gb。我尝试了Total CommanderWinMerge,但都以内存不足错误告终。

我正在运行具有 8GB RAM 的 Vista Home Premium 64 位,因此内存应该不是问题。

windows diff

28
推荐指数
3
解决办法
7万
查看次数

防止差异检查文件末尾的换行符

我有两棵大树,我想比较一下。树中的某些文件之所以不同,只是因为一个文件末尾有换行符,而另一个文件缺少此换行符。我想忽略这个事实。我试过这样打电话diff

diff --ignore-all-space -r <dir1> <dir2>
Run Code Online (Sandbox Code Playgroud)

这是有效的。我的问题是它还忽略了其他差异(与空间相关),这可能很重要。

总结:我只想忽略 EOF 处的换行符。这可能diff吗?

diff

27
推荐指数
1
解决办法
3万
查看次数

如何告诉 vimdiff 忽略空格?

我对我正在处理的文件进行了许多更改,包括缩进更改。我正在vimdiff将文件与原始版本进行比较,我不想看到这些更改,因为它们基本上是装饰性的。

vimdiff在比较过程中如何判断忽略空格?

diff vim whitespace

26
推荐指数
1
解决办法
9554
查看次数

有免费的 *.diff 文件查看器吗?

是否有任何免费软件可以在 Windows 7 上运行以显示*.diff通过比较文件生成的文件的语法突出显示?我不想比较文件,只需查看已比较两个文件的软件的突出显示输出。

windows-7 diff

25
推荐指数
3
解决办法
3万
查看次数

Ubuntu 中 WinMerge 的替代方案

我需要以一种简单的方式比较/差异/合并文件。在 Windows 中,我会使用WinMerge。Ubuntu 中有哪些替代方案?

我必须能够做的事情:

  • 逐行查看 2 个文件,并突出显示差异
  • 可以选择将这些文件合并在一起

diff merge ubuntu

24
推荐指数
3
解决办法
2万
查看次数

标签 统计

diff ×10

linux ×3

filenames ×1

ls ×1

merge ×1

total-commander ×1

ubuntu ×1

vim ×1

whitespace ×1

windows ×1

windows-7 ×1

winmerge ×1