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

时间:2014-07-03 03:45:29

标签: s3cmd

我正在对Hive进行一些处理。通常,这个过程的结果是一个文件夹(在S3上),有多个文件(按顺序用一些随机字母和数字命名),我可以“猫”在一起。

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

但如果它成千上万,向下滚动就是一种痛苦。更不用说,亚马逊在需要时即时加载东西,而不是全部显示。

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

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

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

感谢。

1 个答案:

答案 0 :(得分:2)

我想这个命令应该适合你,

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

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

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