gpt4 book ai didi

linux - 如何仅显示来自 aws s3 ls 命令的文件?

转载 作者:IT老高 更新时间:2023-10-28 12:39:25 28 4
gpt4 key购买 nike

我正在使用 aws cli 使用以下命令 (documentation) 列出 s3 存储桶中的文件:

aws s3 ls s3://mybucket --recursive --human-readable --summarize

这个命令给了我以下输出:

2013-09-02 21:37:53   10 Bytes a.txt
2013-09-02 21:37:53 2.9 MiB foo.zip
2013-09-02 21:32:57 23 Bytes foo/bar/.baz/a
2013-09-02 21:32:58 41 Bytes foo/bar/.baz/b
2013-09-02 21:32:57 281 Bytes foo/bar/.baz/c
2013-09-02 21:32:57 73 Bytes foo/bar/.baz/d
2013-09-02 21:32:57 452 Bytes foo/bar/.baz/e
2013-09-02 21:32:57 896 Bytes foo/bar/.baz/hooks/bar
2013-09-02 21:32:57 189 Bytes foo/bar/.baz/hooks/foo
2013-09-02 21:32:57 398 Bytes z.txt

Total Objects: 10
Total Size: 2.9 MiB

但是,这是我想要的输出:

a.txt
foo.zip
foo/bar/.baz/a
foo/bar/.baz/b
foo/bar/.baz/c
foo/bar/.baz/d
foo/bar/.baz/e
foo/bar/.baz/hooks/bar
foo/bar/.baz/hooks/foo
z.txt

如何省略日期、时间和文件大小以仅显示文件列表?

最佳答案

您不能仅使用 aws 命令执行此操作,但您可以轻松地将其通过管道传递给另一个命令以去除您不需要的部分。您还需要删除 --human-readable 标志以使输出更易于使用,并删除 --summarize 标志以在最后删除摘要数据。

试试这个:

aws s3 ls s3://mybucket --recursive | awk '{print $4}'

编辑:考虑文件名中的空格:

aws s3 ls s3://mybucket --recursive | awk '{$1=$2=$3=""; print $0}' | sed 's/^[ \t]*//'

关于linux - 如何仅显示来自 aws s3 ls 命令的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36813327/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com