将 stdin 上的 tarball 与目录层次结构进行比较?

将 stdin 上的 tarball 与目录层次结构进行比较?

我有一个多 TB 的文件系统,我想与一个多 TB 的 tar 文件进行比较。tar 文件只能从 stdin 获取 - 不允许查找。我没有足够的磁盘空间将 stdin 上的 tar 写入磁盘。

GNU“tar --diff”几乎就是我想要的,除了:

  1. 它不允许在容差范围内比较修改时间 - tarball 中的部分修改时间是四舍五入的。最好忽略修改时间,而不是过于精确地比较它们。
  2. 它不会报告文件系统中不在 tarball 中的文件。
  3. GNU tar 似乎无法使用现代 gcc 进行构建。

在我自己编写一些代码之前,是否已经存在类似的东西?

我更喜欢使用 Python、C、Rust、Java、C++ 或 Go 的解决方案 - 按此顺序。

我在 Google 上搜索了大约一个小时,确实找到了几个几乎可以解决问题的方案,但没有找到我所寻找的确切方案。

谢谢!

相关内容