其他命令如何使用cli访问s3 bucket中的文件



我想在aws cli中使用一些命令来处理存储在s3 bucket中的大文件,而不将这些文件复制到本地目录(我熟悉cp命令,这不是我想要的)。

例如,假设我想使用一个简单的bash命令,如"head"或";more"。如果我试着像这样使用它:

head s3://bucketname/file.txt

然后我得到:

head: cannot open ' s3://bucketname/file.txt ' for reading: No such file or directory我该怎么做?

我还能怎么做呢?

提前感谢。

命令是否能够访问s3 bucket上的文件完全取决于该命令。在底层,每个命令都只是一个程序。当您运行类似head filename的命令时,参数filename作为参数传递给head命令的main()函数。您可以在这里查看源代码:https://github.com/coreutils/coreutils/blob/master/src/head.c

实际上,由于head命令不支持S3 uri,所以不能这样做。

  1. 将s3文件复制到stdout,然后将其管道到头:aws s3 cp fileanme - | head。如果文件对于管道缓冲区来说太大,这似乎不是一个可能的选择。
  2. 使用s3curl复制一段字节:如何使用cli
  3. 访问s3桶中的文件