diff

在 Linux 上,如何区分目录,按名称排除文件,但包括同名的目录?
diff

在 Linux 上,如何区分目录,按名称排除文件,但包括同名的目录?

考虑以下目录/文件结构(所有叶节点都是常规文件,但这并不重要): $ tree . ├── cool_1 │   ├── dumb │   │   ├── file1 │   │   └── file2 │   └── foo │   └── dumb └── cool_2 ├── dumb │   ├── file1 │   └── file2 ...

Admin

在计算中排除 du/diff 命令中的所有目录和子目录
diff

在计算中排除 du/diff 命令中的所有目录和子目录

我想找出文件中字节的差异。但是,du/diff 命令加上 -a 也会列出目录和子目录。我只想要子目录和目录中的文件,而不是这些。 我知道--exclude选项,但我不知道如何操作它来做到这一点。谢谢。 我的操作系统是 Linux Debian。 我的命令是 dira=/mnt/hdd_a/; dirb=/mnt/hdd_b/; diff -u <(cd $dira && du -ab | sort -k2) <(cd $dirb && du -ab | sort -k2) 我也不太理解输出。我认为目录有 + 或 ...

Admin

带有空格和不同数值精度的差异
diff

带有空格和不同数值精度的差异

我有两个文件: $cat a.txt 1 72200 1 1.000000000000000 1.109393E+01 3.670034E-01 0.000000E+00 1.109333E+01 3.669835E-01 3.636971E-02 1.110000E+01 0.000000E+00 0.000000E+00 2 1.000000000000000 1.109940E+01 0.000000E+...

Admin

diff 的可靠性如何?
diff

diff 的可靠性如何?

我将一个大目录从一个卷复制到另一个卷(使用rsync),随后想检查副本是否确实正确,以验证数据的完整性。为了避免冗长的文件比较,diff我编写了一个小脚本,比较原始位置和目标位置的每个文件的 SHA 总和。然后,我比较了两者,并将不同的文件写入另一个脚本文件以再次复制。我选择了 SHA 总和,因为我不需要关心复制的文件在哪里不同,只需要那它们不同。 运行脚本后,我对大量据称不同的文件感到有些震惊。因此,我查看了其中的一些样本并进行了比较,但发现内容或元数据均无差异。从表面上看,原始位置和目标位置的相同文件生成的校验和不同。尽管生成两个位置的校验和的代码相同,...

Admin

TortoiseGit:如何在合并之前显示分支间有差异的文件
diff

TortoiseGit:如何在合并之前显示分支间有差异的文件

如果没有冲突,TortoiseGit 中的合并将自动将文件合并到最新代码。 但是,我只想选择一些块进行合并(文件不冲突)。是否可以显示有差异的文件列表,以便在合并和提交之前选择要使用的块? ...

Admin

borg 备份正在处理所有文件而不是修改的文件
diff

borg 备份正在处理所有文件而不是修改的文件

请指教如何正确使 borgbackup 处理并仅将修改后的源文件及其差异复制到目标? 我们每周都会在 cephfs 中制作数据快照: /data/.snap/snap1/ /data/.snap/snap2/ 然后开始将快照备份到外部机器。 我们预计 borg 在运行 borg create 时只会进行第一次初始长期运行,并且所有其他备份都将是增量的,但备份时间不会改变,并且我们在日志中看到它处理所有文件,我们做错了什么? 我们用: cd /data/.snap/snap1 borg create --progress --stats --list --f...

Admin

如何在差异比较后删除“+”和“ - ”
diff

如何在差异比较后删除“+”和“ - ”

我使用 Cygwin (MobaXterm) diff 比较了两个文件。输出文件的第一行有 -- a 和 ++ b 行。我只想删除这些行。我该怎么做?这是我的脚本: #! /bin/bash sort -bf $1 | uniq > a sort -bf $2 | uniq > b /drives/c/Software/MobaXterm_Portable_v22.0/slash/bin/diff -iw a b > c rm a b grep ^'+' c | awk '{sub("+","");{print}}' | sed -e '...

Admin

比较两个没有换行符的大型文本文件
diff

比较两个没有换行符的大型文本文件

我有两个很大的(2-3MB)文本文件,只有几百个字符不同。通常,diff 可以很好地比较它们以找出差异。但是,虽然它是一个文本文件,但这些文件中根本没有换行符,这使得“diff”毫无用处。整个文件是一行巨大的文本,所以即使是文本编辑器也讨厌它。 这些文件经常使用 :(冒号),因此如果我可以在每个 : 字符后插入一个换行符,diff 可能会产生一些有意义的东西。(每 N 个字符插入换行符是行不通的,因为在第一个不同的字符之后,所有行都会不同,所以我认为它需要基于一些常见的模式或字符。) 如何使用 sed 来做到这一点? ...

Admin

使用 diff 工具交叉比较多个文件
diff

使用 diff 工具交叉比较多个文件

有人遇到过在 Mac/unix 机器上比较多个文件的挑战吗? 考虑同一文件夹中的文件列表 100.txt、101.txt、102.txt 等。 我如何交叉比较所有这些文件以查看 1)文件之间的文本匹配百分比,以及可能的 2)文件集之间的差异报告? ...

Admin

BeyondCompare 不会忽略行尾的差异(DOS/UNIX)
diff

BeyondCompare 不会忽略行尾的差异(DOS/UNIX)

我正在 Windows 10 上使用 BeyondCompare 4 比较两个包含数千个文件的目录。 它们基本相同,但一个从 Windows 导出,另一个从 Linux 导出。唯一的区别是 Windows(DOS)在行末使用 CR/LF,而 Unix 仅使用 LF。(LF 是/表示换行符) 在 Beyond Compare 中,打开文件时我们看到的不同之处在于,一个文件显示“PC”,另一个文件显示“UNIX”(见下图): 打开文件并关闭后,Beyond Compare 现在将文件视为相同,如果我刷新,它们就不会显得不同。 由于我有数千个文件,并且不想手...

Admin

如何创建可通过 Excel、Word 或 Google Docs 作为*表格*导入的并排文件差异?
diff

如何创建可通过 Excel、Word 或 Google Docs 作为*表格*导入的并排文件差异?

diff -y file1 file2创建如下输出: 我想把这个输出转换成 CSV 格式,其中 左侧的文本占一列, 如果有 < 或 | 或 >,则位于第二列,并且 右侧的文本位于第三列。 这样做的目的是能够使用常见的生产力软件与非技术用户讨论差异,而我无法指望非技术用户安装拉取审查软件。 如果有更好的选择,我不会将其diff作为解决方案的起点,但结果必须是一个三列可导出的文件。 ...

Admin

Dropbox 同步技术名称是什么
diff

Dropbox 同步技术名称是什么

我记得 Dropbox 曾经(我认为现在仍然)有一种在同步文件时使用较少数据的方法。 它比较原始文件和新版本之间的字节差异,并且仅上传/下载更改(类似于 git)。 我只是不记得这种技术的名字了!它类似于“字节差异”或“差异比较”......

Admin

有没有办法注释一个 PR 依赖于另一个 PR
diff

有没有办法注释一个 PR 依赖于另一个 PR

如果我从分支创建 Pull 请求 git checkout -b branch-for-first-PR # edits and commits git push origin branch-for-first-PR 在其中做一些工作,然后在第一个 PR 被审核时尝试在此基础上进行构建,我可能会这样做 git checkout branch-for-first-PR git checkout -b branch-for-second-PR # edits and commits git push origin branch-for-second-PR 我...

Admin

如何比较不同操作系统中具有不同目录结构的源路径和目标路径?
diff

如何比较不同操作系统中具有不同目录结构的源路径和目标路径?

源路径和目标路径有超过 10 万个不同的目录。我想比较源路径和目标路径之间的文件,而不考虑目录之间的差异。 换句话说,我想匹配源路径中的文件是否在目标路径中,即使用它们包含的文件,无论它们位于层次结构中的什么位置。 如果存在差异,则这些差异将被输出到文本文件。 我需要能够使用跨平台解决方案,例如 Windows 和 Linux。 我怎样才能实现这个目标? ...

Admin

更改 cygwin stat 报告的 Windows 分区设备号
diff

更改 cygwin stat 报告的 Windows 分区设备号

我有两个具有相同设备号的分区: $ stat -c "%D" /cygdrive/c ec6d967e $ stat -c "%D" /cygdrive/g ec6d967e 我认为这是因为 G: 是从 C: 的映像中恢复的。C:\cygwin64 安装在 / 上。当我尝试运行时,diff -r / /cygdrive/g/cygwin64它会跳过具有相同设备 + inode 编号的目录。根据此错误报告,这不是 diff 中的错误: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=33467 那么我该如何更改 G...

Admin