子虚乌有 发表于 2024-7-19 10:54

求个功能强大的文件比较软件,需求内详

平台不限,linux命令行最好。

我有两个巨大的目录,都是源代码和脚本,数量级在几十GB。
两个里面绝大多数文件都是相同的,现在想找出不同地方来。

特殊需求是能够自己指定忽略某些不同,比如不同的换行符我这里可以忽略否则太多了。



xy2401 发表于 2024-7-19 11:17

都linux平台了 不直接 diff吗?

你可以使用 `diff` 命令来比较两个文件夹的差异,并忽略 Windows 和 Linux 换行符的差异。以下是一个示例命令:

```bash
diff -r -w -B --strip-trailing-cr dir1 dir2
```

解释:
- `-r`:递归比较目录及其子目录中的所有文件。
- `-w`:忽略所有空白字符的差异,包括空格和制表符。
- `-B`:忽略空白行的差异。
- `--strip-trailing-cr`:忽略 Windows 和 Linux 换行符的差异。

这个命令将递归比较 `dir1` 和 `dir2` 目录中的所有文件,忽略空白字符、空白行以及换行符的差异。

如果你有其他问题或需要进一步的帮助,请告诉我!

Source: Conversation with Copilot, 2024/7/19
(1) Linux diff命令(比较两个文件或目录的内容差异)_diff -r-CSDN博客. https://blog.csdn.net/Dontla/article/details/138565056.
(2) Linux diff命令教程:彻底搞懂如何找出文件之间的差异(附实例详解和注意事项)-CSDN博客. https://blog.csdn.net/u012964600/article/details/135404083.
(3) 【命令行】diff如何忽略windows与Linux换行符的差异?_diff 忽略换行符-CSDN博客. https://blog.csdn.net/henryhu712/article/details/125203561.

子虚乌有 发表于 2024-7-19 11:22

xy2401 发表于 2024-7-19 11:17
都linux平台了 不直接 diff吗?

你可以使用 `diff` 命令来比较两个文件夹的差异,并忽略 Windows 和 Linux ...

牛逼,谢谢。知道diff没想到这么强

Misono_Mayu 发表于 2024-7-19 13:15

本帖最后由 Misono_Mayu 于 2024-7-19 13:18 编辑

beyond compare,我们内网开发和服务器开发就用这个,再不行就无脑 git合并一次分支应该也可以看出来(大概)

归蝶 发表于 2024-7-19 13:19

本帖最后由 归蝶 于 2024-7-19 13:23 编辑

最笨的办法,先在目录A建立Git库提交, 然后把目录B整个拷贝过去覆盖然后再提交就行了。换行符的差异可以通过设置 core.autocrlf = input 来忽略


華蝶風雪 发表于 2024-7-23 16:35

Misono_Mayu 发表于 2024-7-19 13:15
beyond compare,我们内网开发和服务器开发就用这个,再不行就无脑 git合并一次分支应该也可以看出来(大概 ...

搭车问个问题,在excel表格中新插入了一行,导致beyond compare版本对比时,从该行往后的所有内容全都显示为差异该怎么避免?
对比lua文件的时候就不会出现这种情况

marxel 发表于 2024-7-23 16:56

華蝶風雪 发表于 2024-7-23 16:35
搭车问个问题,在excel表格中新插入了一行,导致beyond compare版本对比时,从该行往后的所有内容全都显 ...

F7手动对齐一下?
页: [1]
查看完整版本: 求个功能强大的文件比较软件,需求内详