如何将文件从 s3 存储桶通过管道传送到 cat?

问题描述 投票:0回答:1

我可以访问 s3 存储桶,我可以使用以下方式轻松在终端中列出其内容:

aws s3 ls "s3://mybucket/myfiles/file_001.gz"

我正在尝试将这些文件通过管道传输到

gzip
以便即时解压缩,以便我可以快速打开一个文件并使用
nano
cat
查看它。

但是,执行以下操作是行不通的

aws s3 ls "s3://mybucket/myfiles/file_001.gz" | xargs gunzip -c | nano

我想知道我是否缺少一个管道命令,该命令会在管道传输到

gunzip
之前从本地 s3 下载文件。不知道该怎么做。有什么想法吗?

谢谢!

linux amazon-web-services amazon-s3
1个回答
0
投票

这是 2024 年底的一个简短更新:我个人使用一个名为

s3get
的工具。它是用 Rust 编写的,旨在正确处理管道。

对于

cat
文件,运行:

s3get s3://bucket/file.txt

您还可以使用管道,例如如果你想在文件上运行

less

s3get s3://bucket/file.txt | less

如果您安装了

cargo
,则运行:

cargo install s3get

GH 仓库:https://github.com/veaac/s3get

© www.soinside.com 2019 - 2024. All rights reserved.