1

我正在对 Hive 进行一些处理。通常,此过程的结果是一个文件夹(在 S3 上),其中包含多个文件(按顺序以一些随机字母和数字命名),我可以将它们“分类”在一起。

但是对于报告,我只需要文件夹中的第一个和最后一个文件。现在,如果文件数以百计,我可以简单地通过 web-gui 下载它。

但如果它是数千个,向下滚动是一种痛苦。更不用说,亚马逊会在需要时动态加载内容,而不是全部显示。

我试过s3cmd get了,但我的经验充其量只是基本的。我最终下载了整个文件夹的内容。

据我所知,可以输入额外的命令,但我不知道该怎么做。

那么,如何使用s3cmd get仅下载特定文件夹中的最后一个文件?

谢谢。

4

1 回答 1

4

我想这个命令应该对你有用,

s3cmd get $(s3cmd ls s3://bucket_name/folder_name/ | tail -1 | awk '{ print $4 }')

tail -1将选择文件夹列表中的最后一行并awk '{ print $4 }'选择文件名(第四个字段)。

对于第一个文件,只需替换tail -1head -1

于 2015-01-06T10:08:10.483 回答