aws s3 cp循环遍历文件中的行

时间:2016-09-19 22:31:27

标签: amazon-web-services amazon-s3 aws-cli

我有一个文本文件(testing.txt),其中每一行是我想要上传到S3的文件的路径。

testing.txt

homework.txt
Documents/Data/file1.txt
Photos/picture.jpg

我试过这个:

while read line
do 
    aws s3 cp $line s3://mybucket/
done < testing.txt

但是我收到了这个错误:

does not exist.d path homework.txt
does not exist.d path Documents/Data/file1.txt
does not exist.d path Photos/picture.jpg
如果我错过了某些内容,或者这个错误可能与我的情况有关,那么我对此相当陌生。我不完全确定这应该工作,所以非常感谢我指出任何有用的方向!

2 个答案:

答案 0 :(得分:1)

您可以这样做:

cd ~/path/to/base-dir # This is where files are.

for f in $(cat ~/path/to/testing.txt); \
do echo "Now moving file $f"; \
aws s3 cp $f s3://mybucket/; \
done

答案 1 :(得分:0)

看起来你没有按照预期运行命令。 如果您不在正确的目录中,那么您应该在文件中提供绝对路径,以便在搜索文件时没有bash的问题。