gpt4 book ai didi

linux - 两个文件大小相同但文件名不同的目录之间的差异

转载 作者:太空宇宙 更新时间:2023-11-04 05:11:09 24 4
gpt4 key购买 nike

我有两个目录,即 D1 和 D2。它们都包含相同数量、大小相同但名称不同的文件。假设 D1 包含 f1、f2 和 f3,D2 包含 ff1、ff2 和 ff3。我想在这种情况下对 f1 和 ff1、f2 和 ff2 以及 f3 和 ff3 进行比较。我该怎么做?

最佳答案

假设:

  1. 相应的文件具有相同的大小
  2. 同一目录中没有两个文件具有相同的大小
  3. 文件名很简单(文件名中没有空格或换行符等有趣的符号)

然后你可以这样做:

ls -1S d1/* d2/* | while read f1; read f2; do echo "diff $f1 vs $f2"; diff "$f1" "$f2"; done

为什么这有效:

  • ls -1S d1/* d2/*:这会创建 d1d2 中所有文件的列表(按大小排序)。这意味着两个连续文件具有相同大小的列表。
  • 读取 f1 时;读取 f2; do:这会读取两个条目。

在一个简单的测试中,这给了我以下输出:

diff d1/f3 d2/ff1
1c1
< 11
---
> 12
diff d1/f2 d2/ff2
diff d1/f1 d2/ff3

这里,f1和ff3为空,f2和ff2相同,其中有1个字符,f3和ff1不同,有2个字符。

关于linux - 两个文件大小相同但文件名不同的目录之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55147254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com