linux - 在 Linux 中比较两个不同目录中的文件

标签 linux bash shell unix file-diffs

一个 shell 脚本,它显示两个不同目录中多个文件的差异,并且还可能创建一个输出文件,其中包括发现所有不匹配的位置。

条件

  1. 文件 dir1/file1 仅与 dir2/file1 比较(其他文件类似 - file2 与 file2 比较)

  2. 如果发现任何更改:状态应该是“例如,在文件 file1 中发现未匹配”,所有其他文件也应该做同样的事情,并将所有结果写入一个文件

提前致谢

最佳答案

使用 diff 命令。使用 -r 标志,您可以递归地比较文件夹:

diff -ur dir1 dir2

输出将采用 patch 命令可以理解的格式。您可以将其保存在一个文件中,并使用

将这些更改应用到 dir1
diff -ur dir1 dir2 > my.patch
cd dir1
patch -p1 < ../my.patch

关于linux - 在 Linux 中比较两个不同目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40595047/

相关文章:

bash - 期待脚本问题

linux - bash 脚本卡住

c - 为什么在启用 ASLR 时 glibc 的函数地址不随机化?

创建新信号或复用 SIGALRM?

linux - 通过 bash 脚本为 Linux 服务器设置代理失败

linux - 用于为没有特定文件的目录运行程序的 bash 脚本

linux - (bash) 如何向文件名添加一些迭代

javascript - Node exec 没有执行脚本的权限

linux - 我应该如何处理循环变量以在 Linux Shell 中每个循环将其增加 1?

bash - 在 JAR 中的文件中搜索