【问题标题】:Bash SFTP batch file equivalent for Amazon S3等效于 Amazon S3 的 Bash SFTP 批处理文件
【发布时间】:2020-06-03 05:43:38
【问题描述】:

我需要从管道对 Amazon S3 存储桶执行一系列删除文件命令(如下所列)。但是我需要使用 Amazon S3 的命令行实用程序 (v2) 逐行执行它们,但我不知道如何执行此操作。因此,SFTP 内置了一个批处理文件实用程序,可以从文本文件中读取一系列删除命令,但 S3 没有此功能。我在这里最好的选择是什么? (这取自 > 管道到文本文件,我在 mac 上使用终端 BSD。)

aws s3 rm s3://xxx.yyy/FILE_25Min_PGM_05-11-2020.mp3
aws s3 rm s3://xxx.yyy/FILE_25Min_PGM_05-12-2020.mp3
aws s3 rm s3://xxx.yyy/FILE_25Min_PGM_05-13-2020.mp3
aws s3 rm s3://xxx.yyy/FILE_25Min_PGM_05-14-2020.mp3
aws s3 rm s3://xxx.yyy/FILE_25Min_PGM_05-15-2020.mp3

【问题讨论】:

  • 您的问题是什么?如何遍历 index.txt 并将文件名解析为给定模式以执行?或者如何根据给定的搜索条件创建 index.txt?
  • 很难提出正确的问题。我想我的问题是如何利用 awk 的输出来运行一系列命令。以上是 awk 命令的输出。所以我认为我需要使用 xargs 或使用 awk 中的系统命令,如下所述:。 stackoverflow.com/questions/20389799/…
  • 输入是什么?是否有列表或者您要删除所有 FILE_25Min_PGM_05*.mp3?例如,您可以遍历 input.txt stackoverflow.com/a/37210472

标签: bash amazon-s3 rm bsd


【解决方案1】:

解决方案如下: | awk '{ system("aws s3 rm s3://xxx.yyy/" $4) }

$4 是包含文件名的字段。在 AWK 手册中并不清楚这将有效地运行一个“循环”,不仅输出一个命令,而且每行输出一个系统命令并指定字段。如果您有一个文件列表,无论是在文本文件中还是通过管道传输到要在其上运行系统命令的 AWK 中,这将非常强大。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2013-01-18
    • 2016-11-13
    • 1970-01-01
    相关资源
    最近更新 更多