如何在 Linux 中使用 diff 命令比较两个目录中可用的文件?
让我们考虑一种情况,我们有两个目录,例如d1和d2,并且这两个目录都包含一些文件,这些文件可能相同或不同。现在我们要比较这两个目录中存在的文件,通过比较,我们需要打印出哪些文件不同,哪些文件相同以及在哪个目录中。
为了做到这一点,我们必须熟悉diff命令,因为可以使用 diff 命令解决上述问题。
让我们首先探索 diff 命令,它是difference 的缩写。此命令用于查找两个文件之间的差异,因为它会逐行比较两个文件。
让我们探讨一下我们有两个目录d1和d2并且这两个目录中都包含一些文件的情况。
考虑终端输出来描述下面显示的这两个目录 -
immukul@192 linux-questions-code % ls -ltrtotal 0
drwxr-xr-x 5 immukul staff 160 Jul 5 20:03 d1
drwxr-xr-x 4 immukul staff 128 Jul 5 20:03 d2
现在第一个目录d1的内容看起来像这样 -
immukul@192 d1 % ls -ltrtotal 0
-rw-r--r-- 1 immukul staff 0 Jul 5 20:03 1.txt
-rw-r--r-- 1 immukul staff 0 Jul 5 20:03 3.txt
-rw-r--r-- 1 immukul staff 0 Jul 5 20:03 5.txt
现在第一个目录d2的内容看起来像这样 -
immukul@192 d2 % ls -ltrtotal 0
-rw-r--r-- 1 immukul staff 0 Jul 5 20:03 2.txt
-rw-r--r-- 1 immukul staff 0 Jul 5 20:03 3.txt
现在我们想知道目录 d1 和 d2 之间的差异,为了打印差异,我们可以使用如下所示的命令 -
diff -q d1 d2 | cut -f2 -d ','输出结果
Only in d1: 1.txtOnly in d2: 2.txt
Only in d1: 5.txt
我们可以使用的另一个命令也如下所示 -
diff -qr d1 d2输出结果
Only in d1: 1.txtOnly in d2: 2.txt
Only in d1: 5.txt
以上是 如何在 Linux 中使用 diff 命令比较两个目录中可用的文件? 的全部内容, 来源链接: utcz.com/z/355983.html