使用S3cmd,如何获取文件夹中的第一个和最后一个文件?

zac*_*con 2 s3cmd

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

但对于报告,我只需要文件夹中的第一个和最后一个文件。现在,如果文件数量有数百个,我可以简单地通过网络 GUI 下载它。

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

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

据我所知,可以输入额外的命令,但我不知道如何做到这一点。

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

谢谢。

Tah*_*ain 6

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

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

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

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