我有一个程序,它成功地上传了我需要的所有文件。我每天都有新的文件需要上传。在我上传文件后,我不再需要它们,因此不再寻求同步它们。
我很好奇是否有一种方法可以使用s3cmd检查给定的路径和文件名是否存在于S3中。
发布于 2013-07-04 03:05:34
您可以在s3cmd中使用ls命令来了解S3中是否存在某个文件。
Bash代码
path=$1
count=`s3cmd ls $path | wc -l`
if [[ $count -gt 0 ]]; then
echo "exist"
else
echo "do not exist"
fi用法:./s3_exist.sh s3://foo/bar.txt
编辑:
正如cocoatomo在评论中指出的那样,s3cmd ls $path列出了以 $path开头的所有文件。更安全的方法是使用s3cmd info $path并检查退出代码。
新的Bash代码
path=$1
s3cmd info $path >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo "exist"
else
echo "do not exist"
fihttps://stackoverflow.com/questions/17455782
复制相似问题