标签: diff

如何仅区分两个文件的第一行?

我只想比较两个文件的第一行,而不是整个文件。我该怎么做?我只需要第一行的解决方案,但是如果您可以指定行数,那将是一个更好的答案。

所以 diff 不会返回以下两个文件之间的差异:

a
1
2
Run Code Online (Sandbox Code Playgroud)

和:

a
3
4
Run Code Online (Sandbox Code Playgroud)

linux diff command-line

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

控制台的交互式/视觉合并工具?

我是meldGnome 的视觉差异和合并工具的忠实粉丝。它并排显示两个文件(或目录)并突出显示它们的差异,我可以轻松选择要从一个文件移动到另一个文件的部分。

我正在寻找类似的工具,但它应该可以在(Linux)控制台上运行,例如。它不应该需要任何 X 服务器。也许使用 ncurses 接口。

有这样的工具吗?

linux diff console merge

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

diff -b 和 -w 的区别

diff联机帮助页:

-b, --ignore-space-change
      ignore changes in the amount of white space

-w, --ignore-all-space
      ignore all white space
Run Code Online (Sandbox Code Playgroud)

由此,我推断-b-w选项之间的区别必须-b是对空格类型(制表符与空格)敏感。然而,情况似乎并非如此:

$ diff 1.txt 2.txt 
1,3c1,3
<     Four spaces, changed to one tab
<         Eight Spaces, changed to two tabs
<     Four spaces, changed to two spaces
---
>       Four spaces, changed to one tab
>               Eight Spaces, changed to two tabs
>   Four spaces, changed to two spaces
$ diff -b 1.txt …
Run Code Online (Sandbox Code Playgroud)

linux diff command-line

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

如何使用 WinMerge 作为 Mercurial 的 Diff 工具

我正在使用 Mercurial 分布式版本控制系统,我想知道如何配置它以使用 WinMerge 而不是它自己的内部差异工具。我已经将 WinMerge 作为合并工具,但我希望 Mercurial 在我键入时使用 WinMerge:

hg diff
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,还是我坚持使用 Mercurial 的内部差异工具?

diff winmerge mercurial

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

Git:在两个存储之间执行差异

Git 是否可以在两个存储之间执行差异?

例如,我有以下藏品:

stash@{2}: On peformanceFix#3: 20170728T164841
stash@{3}: On peformanceFix#2: 20170727T073349
Run Code Online (Sandbox Code Playgroud)

我想要两者之间的差异。

diff git

20
推荐指数
1
解决办法
5147
查看次数

Windows 资源管理器 - 从上下文菜单中区分两个文件?

有没有办法从 Windows 资源管理器的上下文菜单中区分两个选定的文件?

windows diff windows-explorer

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

有没有办法在另一个 WSL 2 发行版/映像中访问文件?

我在 Windows 10 系统上安装了多个 Unbuntu WSL 2,我希望能够在它们之间运行 rsync 和 diff 等工具。是否可以挂载/查找这些其他副本的文件所在位置并对其运行 Linux 命令。我不想复制到该区域,只是能够“复制出来”。

为了使这一点更加具体,我有:

X:\WSL\U18.04_1 和 X:\WSL\U18.04_2

而且,我可以通过说以下内容进入第二个:

wsl -d X:\WSL\U18.04_2 -u myname
Run Code Online (Sandbox Code Playgroud)

这将在我的 U18.04_2 映像中的 home 方向上调出一个 bash shell。现在,我想有效地做到:

diff -rbitw /mnt/x/WSL/U18.04_1/home/myname /home/myname
Run Code Online (Sandbox Code Playgroud)

但当然,这不起作用,因为 /mnt/x/WSL/U18.04 实际上并不是一个文件系统(据我所知)。

mount diff rsync windows-subsystem-for-linux

18
推荐指数
2
解决办法
9981
查看次数

如何区分不同文件的目录,而不是逐行区分

我想递归地查看两个目录中不同的文件。Diff 可以做到这一点,但它向我显示了我不想要的逐行差异。是否有执行此操作的工具,或使用 Diff 执行此操作的方法(我阅读了手册页,但什么也没看到)?

linux diff shell command-line

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

两个 ODT 文档的相似性和/或差异性 (Linux)

我有两个 ODT 文档,它们的内容非常接近,我想比较它们以查看它们的相似程度。

最好的办法是有一个相似度百分比,如果不可能,另一种选择是至少有某种diff

我正在运行Ubuntu Lucid


解决方案:

我曾经odt2txt将文件转换为文本,然后曾经wdiff -i --statistics one.txt two.txt有一个差异以及统计数据,它给了我常用词的百分比(相似性)。

diff odt ubuntu

17
推荐指数
2
解决办法
9660
查看次数

Linux 上两个文件之间的空格差异

我有两个文件,当我与 diff 比较时,显示每一行都发生了变化。当我将它们与diff -w(忽略空格)进行比较时,它显示了我期望的一些最小变化。

显然每个文件中的空格之间存在一些差异,但我不知道它们是什么或如何找到它们。我尝试编辑文件以确保空格实际上是空格字符(而不是制表符),但我不确定还能做什么。

我使用 vim with:set list on来确认行尾没有尾随空格。

我也相信每个文件都有 Linux 行终止符,因为 vim 没有^M在行尾显示。

linux diff whitespace

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