使用aws cli命令计算递归复制的文件数

时间:2017-03-08 22:18:43

标签: bash amazon-s3 aws-cli

有人可以帮助我使用命令来计算仅从一个父对象复制到另一个父对象的文件数。例如

1. src/folder1/some1.txt    
2. src/folder1/folder1_1/some1.txt
3. src/folder2/folder2_1/some2.txt
4. src/folder4/folder4_2/some3.txt
5. src/folder4/folder4_1/some4.txt

将它们复制到dest文件夹

所以,当我做的时候

aws s3 cp s3:// src / * s3:// dest / --recursive

我需要计算复制的文件数量。

2 个答案:

答案 0 :(得分:1)

让我们说我们在S3存储桶中具有mp3文件,其路径如下: bucket-name/path/to/files 然后,cmd aws s3 ls bucket-name/path/to/files --recursive | grep 'mp3' | wc -l 即使目录中存在所有mp3文件,该文件也会输出该mp3文件的计数。

答案 1 :(得分:0)

我能想到的最简单的方法是依赖cp -v`source' -> `dest'格式打印每个文件的事实:

cp --recursive --verbose s3://src/* s3://dest/ | grep -F '->' | wc -l

grep会为找到->的每一行输出内容,而wc会计算这些行,这将为您提供所制作的总份数。