【问题标题】:md5sum of certain files in two different folders in bashbash中两个不同文件夹中某些文件的md5sum
【发布时间】:2014-06-04 10:38:44
【问题描述】:

我想将文件夹 A 中的文件复制到文件夹 B,其中一些复制的文件会覆盖文件夹 B 中的现有文件。文件夹 B 还包含不在文件夹 A 中的文件。操作后我想比较文件夹A和B中所有复制文件的md5sum。

如何生成文件夹 A 中的文件列表并将其通过管道传输到文件夹 B 中的 md5sum? 我试过了:

 ls -1 | md5sum

但 'ls -1' 不是 md5sum 的不同文件列表...

非常感谢

【问题讨论】:

  • 请提供更多说明?

标签: bash md5sum filelist


【解决方案1】:

我猜你想生成文件夹A中的文件和文件夹B中的等效文件的md5sum:

cd folderA
md5sum *
cd folderB
( cd folderA && ls ) | xargs md5sum

但是,您可能想查看diff 来检查。也许rsync 用于复制。

【讨论】:

  • 我真正在做的是通过网络连接将文件复制到文件夹B,我想看看更改后的文件是否与文件夹A中的完全一样,所以通过网络复制很顺利。实际上已经在使用 rsync
  • 如果您是通过网络进行的,您可能需要在原始计算机上对文件夹 A 进行校验和,否则您只是通过网络比较两个副本。
  • 是的,这就是我想做的:在 rsync 完成工作后,比较原始机器上的文件夹 A 和远程机器上的文件夹 B。因此,我希望将原始机器上的文件夹 A 文件列表保存到变量中,然后在文件夹 B 中为远程机器上的文件列表运行 md5sum。
  • 'xargs' 正是我想要的。
【解决方案2】:

应该是相反的:ls | md5sum

但这只会比较文件名。这真的是你想要的吗?

如果你想要所有文件的所有内容的总和,例如cat * | md5sum

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多