linux删除s3的文件夹,linux – 如何只显示来自aws s3 ls命令的文件?

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

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,amazon-web-services,amazon-s3,aws-cli,ls

来源: https://codeday.me/bug/20191006/1858964.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值