反正有没有使用aws cli复制csv中存在的文件列表的方法?

问题描述 投票:0回答:1

我在s3存储桶上有一个名为all-files的文件夹,其中包含35K个文件。我有一个CSV文件(errors.csv),其文件名为1K,此文件名是35K文件名的子集。我需要将35k all-files文件夹中的1k文件(来自csv)复制到同一存储桶上的某个名为errors的新文件夹中。

反正有可能吗?如果是,怎么办?

我用cp模式用include命令尝试了东西,但似乎不支持csv文件的输入。

amazon-web-services csv amazon-s3 aws-cli extraction
1个回答
0
投票

由于您不确定是否使用Linux,所以我假设使用Linux。

bash中最基本的实现方式如下(您未提供任何示例文件内容可使用):

# populate example `/tmp/files.csv` file:

cat >/tmp/files.csv << EOF
file1
file2
file3
EOF

/tmp/files.csv中读取逐行并执行aws s3 mv

while read file; do
  echo "aws s3 mv s3://<bucket>/${file} s3://<otherbucket>/${file}"
done < /tmp/files.csv

这导致:

aws s3 mv s3://<bucket>/file1 s3://<otherbucket>/file1
aws s3 mv s3://<bucket>/file2 s3://<otherbucket>/file2
aws s3 mv s3://<bucket>/file3 s3://<otherbucket>/file3

更复杂的示例,将涉及通过同时移动几个文件来运行命令[[并发]]。但是,无论您同时移动10个文件还是一次移动10个文件,想法都是相同的。

© www.soinside.com 2019 - 2024. All rights reserved.