gpt4 book ai didi

Linux:将轨道与循环进行比较

转载 作者:太空宇宙 更新时间:2023-11-04 12:51:23 25 4
gpt4 key购买 nike

我想比较两个目录,并能够将一个文件从一个目录复制到另一个目录(例如,将文件 dog.png 从目录 1 复制到目录 2,如果这个文件没有这个文件)

我知道有包含递归的“diff”命令 diff -rq rep1 rep2,但我认为结果(呈现方式)不适合使用它.另外,它不关心路径,只要第二个目录中某处有相同的文件即可。

我的想法是列出 rep1 的元素,然后做一个循环,如果还有其他目录,打开它并做另一个循环,直到只有文件,然后比较并返回到上一个环形。我知道这看起来像是递归,我想知道是否可以那样做?或者如果它太复杂。

最佳答案

Mike C:欢迎来到 Stack Overflow!我会尝试将此 Q 发布到另一个网站 https://softwareengineering.stackexchange.com/因为它不太符合 Stack Overflow 的“规范”,通常您会问有关具体代码的问题。无论如何我都会尝试回答问题。

是的,你可以用递归来解决这个问题。您可以创建一个函数或方法,在输入时获取目录的完整路径,然后该函数将列出所有子目录并在每个子目录上调用自身。

您将并行扫描两个目录的事实会增加一些复杂性,因为您必须在 3 种情况下决定要做什么:

  • 子目录只存在于A
  • 子目录只存在于B
  • 两者都存在子目录

我会通过将两个完整路径传递给函数来实现这一点,并在其中一个为 null 时简单地更改 behsaviour。

关于Linux:将轨道与循环进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37087030/

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