比较多个文件

day*_*aya 3 file-comparison bash-script

我想要一个 bash 脚本来比较或查找存储在不同位置的多个文件的差异:

下的文件 /tmp/test/

  • A.txt
  • B.txt
  • 文件

/home/oldtest/下的文件进行比较

  • A.txt
  • B.txt
  • 文件

健康)状况:

  1. 文件/tmp/test/A.txt仅与/home/oldtest/A.txt(与其他文件类似 -B.txt与 比较B.txt)。

  2. 如果发现任何更改:状态应为“文件 A.txt 中需要修改”。

pet*_*rph 6

diff 来自 GNU diffutils 有一个递归比较的选项:

diff -qrs /dir/A /dir/B
Run Code Online (Sandbox Code Playgroud)

比较目录:-q安静地(即不打印任何差异,它只报告文件不同),-r递归(具有所有子目录的完整树),-s报告相同的文件。


Jen*_*y D 5

cd /tmp/test
for i in *.txt; do diff -q $i /home/oldtest/$i; done
Run Code Online (Sandbox Code Playgroud)

对于每个有差异的文件,输出将为“文件 A.txt 和 ../home/oldtest/A.txt 不同”。