【问题标题】:How can I compare the directry lists inside directories?如何比较目录内的目录列表?
【发布时间】:2022-12-03 03:34:55
【问题描述】:

我有 2 个目录,A 和 B。在 A 中,我有子目录 1、2、3、4,而在 B 中,我有 1 和 3。如何轻松突出显示 2 和 4? 子目录的内容分别是相同的,所以我只是想比较一下名字。

Mark -> Compare Directories 只比较文件,不比较目录。

【问题讨论】:

    标签: total-commander


    【解决方案1】:

    我不知道您是否可以使用其他工具,但还有另一种比较目录的方法(除非您不介意使用命令行)。

    苹果系统你可以简单地在终端中输入这个命令:

        $ diff A/ B/
        Common subdirectories: A/1 and B/1
        Only in A/: 2
        Common subdirectories: A/3 and B/3
        Only in A/: 4
    

    或者

    $ diff -rq A B
    Only in A/: 2
    Only in A/: 4
    
    -r recursively compares any subdirectories
    -q shows only differences without any details
    

    为了视窗

    • 预装comp 命令。这是link
    • 预装fc命令。这是link
    • 你也可以下载gnuwin32,它提供了diff命令,你几乎可以像上面描述的那样使用它。

    希望它能以某种方式帮助。

    【讨论】:

      【解决方案2】:

      要比较两个目录的内容并突出显示差异,可以在终端或命令提示符中使用 diff 命令。此命令将显示目录之间的差异,包括一个目录中存在但另一个目录中不存在的任何文件或子目录。

      例如,如果你有两个名为 A 和 B 的目录,你想比较它们并突出显示差异,你可以使用以下命令:

      diff -rq A B
      

      此命令将递归地比较两个目录的内容,显示一个目录中存在但另一个目录中不存在的任何文件或子目录。 -q 标志告诉 diff 命令只显示不同的文件和目录的名称,而不显示文件的全部内容。

      如果只想比较子目录的名称,而不是其中文件的内容,可以使用 find 命令列出每个目录中的子目录,然后使用 diff 命令比较列表。例如:

      diff <(find A -type d) <(find B -type d)
      

      此命令将列出每个目录中的子目录,然后使用 diff 命令比较列表并突出显示差异。

      请注意,diff 和 find 命令可能因您使用的操作系统而异。如果您不确定如何使用这些命令,您可能需要查阅操作系统的文档或在线搜索有关使用它们的教程或指南。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-04
        • 2016-11-14
        • 1970-01-01
        • 2020-01-18
        • 2011-01-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多