amazon-s3 - 从 S3 提取巨大的 tar.gz 档案而不将档案复制到本地系统
解决方案
如果您可以安排将数据直接通过管道传输到tar
,它可以解压缩并提取它,而无需临时文件。
这是一个例子。首先创建一个 tar 文件来玩
$ echo abc >one
$ echo def >two
$ tar cvf test.tar
$ tar cvf test.tar one two
one
two
$ gzip test.tar
删除测试文件
$ rm one two
$ ls one two
ls: cannot access one: No such file or directory
ls: cannot access two: No such file or directory
现在通过将压缩的 tar 文件传送到tar
命令中来提取内容。
$ cat test.tar.gz | tar xzvf -
one
two
$ ls one two
one two
现在唯一缺少的部分是如何下载数据并将其通过管道传输到 tar。假设您可以使用 访问 URL wget
,您可以让它将数据发送到标准输出。所以你最终得到了这个
wget -qO- https://youtdata | tar xzvf -
推荐阅读
- javascript - 如何在一页上显示多个(未知数量的幻灯片)?
- typescript - 从对象文字自动推断的记录类型(例如`uknown`)
- python-3.x - 计算接受字符串的平均成绩
- excel - Excel VBA:如何动态放大/展开 ActiveCell?
- apache-spark - 分组火花数据帧上的最大聚合返回错误值
- c - VS Code C 错误 - 无效的活动开发者路径
- rigid-bodies - 使用 pystackreg 进行图像配准
- php - 当产品出现在 WooCommerce 中时,显示带有术语的标签
- c++ - 如何在不使用布尔参数的情况下实现深浅复制构造函数?
- xamarin - Xamarin Shell 在 ShellContent 中使用 Contentview