将文件夹与 tarball 进行比较

毫米-crj

我有这样的目录结构

Code
├── cse701.tgz
└── cse701
    ├── cse701.md
    ├── CSE701.md
    ├── CSE701_pandoc.md
    ├── cse701.pdf
    ├── cse.pdf
    ├── default.yaml
    ├── html2tex.log
    ├── test.md
    └── missing.md

tarball 的结构如下:

drwxrwxr-x zenith/zenith     0 2020-12-02 20:18 cse701/
-rw-rw-r-- zenith/zenith     0 2020-12-02 21:19 cse701/default.yaml
-rw-rw-r-- zenith/zenith     0 2020-12-02 21:19 cse701/CSE701.md
-rw-rw-r-- zenith/zenith     0 2020-12-02 21:19 cse701/CSE701_pandoc.md
-rw-rw-r-- zenith/zenith     0 2020-12-02 21:19 cse701/html2tex.log
-rw-rw-r-- zenith/zenith     0 2020-12-02 21:19 cse701/test.md
-rw-rw-r-- zenith/zenith     0 2020-12-02 21:19 cse701/cse701.pdf
-rw-rw-r-- zenith/zenith     0 2020-12-02 21:19 cse701/cse.pdf
-rw-rw-r-- zenith/zenith     0 2020-12-02 21:19 cse701/cse701.md
tar --diff -zf cse701.tgz  cse701/
tar --compare -zf cse701.tgz  ./cse701/

这篇文章中显示的 diff 和 compare 选项应该指出磁盘中缺少一个不在 tarball 上的文件。

但是,gnu tar 文档说它会显示文件是否已被修改,但会忽略文件系统中在存档中没有相应成员的文件。如果某个文件在存档中存在但在文件系统中不存在,则 tar 会报告差异。

那么如何在创建 tarball 后找到是否有任何新文件添加到文件夹中?

尤金·里克

这不是单线,但它可以满足您的需求:

cd /path/to/Code
tar -tf cse701.tgz | sed 's#/$##' >tgz
find cse701 >fs
diff -uw fs tgz
rm fs
rm tgz

解释:

  • 首先我们切换到相关目录
  • 然后我们列出 tar.gz 内容,删除/行尾的 es(tar -t将它们放在目录中)
  • 随后,我们发现在相应的文件系统子树的所有文件和目录(find没有 /ES末)
  • 我们区分这两个列表
  • 并清理

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从tarball提取特定文件夹到特定文件夹

来自分类Dev

从tarball提取特定文件夹到特定文件夹

来自分类Dev

Ansible:将命令标准输出与不同位置的现有文件夹进行比较

来自分类Dev

Google脚本-将文件名与文件夹名进行比较,如果名称匹配则将文件移入文件夹

来自分类Dev

linux +在两个文件夹之间进行比较

来自分类Dev

除了“比较”命令行脚本之外,还可以进行文件夹比较,以生成文件夹和文件夹中文件的结果

来自分类Dev

提取时如何重命名tarball中的顶层文件夹?

来自分类Dev

比较tarball与sha1sum

来自分类Dev

在tarball中查找最大的文件

来自分类Dev

创建一个批处理文件,该文件将文本文件和文件夹中的文件名进行比较,如果匹配,它将文件复制到另一个文件夹

来自分类Dev

比较Windows文件夹中的文件

来自分类Dev

将数据从excel文件文件夹导入到特定的excel文件进行分析

来自分类Dev

如何在PowerShell中将位置与主文件夹进行比较

来自分类Dev

比较文件夹并删除重复项

来自分类Dev

创建一个tarball,对其进行动态加密,并将tar消息保留在日志文件中

来自分类Dev

创建一个tarball,对其进行动态加密,并将tar消息保留在日志文件中

来自分类Dev

如何从tarball提取文件驻留在远程

来自分类Dev

使用Bash修剪Tarball的文件名

来自分类Dev

列出tarball中文件的完整时间戳

来自分类Dev

比较两个文件夹,将一个文件夹中的不同文件复制到另一个文件夹

来自分类Dev

比较两个文件夹,将一个文件夹中的不同文件复制到另一个文件夹

来自分类Dev

Powershell:将文本块与文件进行比较

来自分类Dev

将文件系统与转储进行比较

来自分类Dev

如何将 JTable 与文件进行比较?

来自分类Dev

将子文件夹重写为子域,而无需使用Nginx进行重定向

来自分类Dev

将文件夹名称存储到数组中并按字母顺序对VBA进行排序

来自分类Dev

如何进行循环以将groff文档编译到特定文件夹中

来自分类Dev

如何顺序循环浏览一个文件夹中的图像并与另一个文件夹中的最新图像进行比较

来自分类Dev

在文件中进行比较,然后在文件之间进行比较

Related 相关文章

  1. 1

    从tarball提取特定文件夹到特定文件夹

  2. 2

    从tarball提取特定文件夹到特定文件夹

  3. 3

    Ansible:将命令标准输出与不同位置的现有文件夹进行比较

  4. 4

    Google脚本-将文件名与文件夹名进行比较,如果名称匹配则将文件移入文件夹

  5. 5

    linux +在两个文件夹之间进行比较

  6. 6

    除了“比较”命令行脚本之外,还可以进行文件夹比较,以生成文件夹和文件夹中文件的结果

  7. 7

    提取时如何重命名tarball中的顶层文件夹?

  8. 8

    比较tarball与sha1sum

  9. 9

    在tarball中查找最大的文件

  10. 10

    创建一个批处理文件,该文件将文本文件和文件夹中的文件名进行比较,如果匹配,它将文件复制到另一个文件夹

  11. 11

    比较Windows文件夹中的文件

  12. 12

    将数据从excel文件文件夹导入到特定的excel文件进行分析

  13. 13

    如何在PowerShell中将位置与主文件夹进行比较

  14. 14

    比较文件夹并删除重复项

  15. 15

    创建一个tarball,对其进行动态加密,并将tar消息保留在日志文件中

  16. 16

    创建一个tarball,对其进行动态加密,并将tar消息保留在日志文件中

  17. 17

    如何从tarball提取文件驻留在远程

  18. 18

    使用Bash修剪Tarball的文件名

  19. 19

    列出tarball中文件的完整时间戳

  20. 20

    比较两个文件夹,将一个文件夹中的不同文件复制到另一个文件夹

  21. 21

    比较两个文件夹,将一个文件夹中的不同文件复制到另一个文件夹

  22. 22

    Powershell:将文本块与文件进行比较

  23. 23

    将文件系统与转储进行比较

  24. 24

    如何将 JTable 与文件进行比较?

  25. 25

    将子文件夹重写为子域,而无需使用Nginx进行重定向

  26. 26

    将文件夹名称存储到数组中并按字母顺序对VBA进行排序

  27. 27

    如何进行循环以将groff文档编译到特定文件夹中

  28. 28

    如何顺序循环浏览一个文件夹中的图像并与另一个文件夹中的最新图像进行比较

  29. 29

    在文件中进行比较,然后在文件之间进行比较

热门标签

归档