gpt4 book ai didi

linux - 如何从 AWS s3 中删除除最新的 5 个最近更新/新文件之外的所有文件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:19:35 24 4
gpt4 key购买 nike

我可以使用以下命令从 AWS S3 获取最近五个更新的文件

aws s3 ls s3://somebucket/ --recursive | sort | tail -n 5 | awk '{print $4}'

现在我需要删除 AWS S3 中的所有文件,除了最后 5 个文件,这些文件是从 AWS 中的上述命令获取的。

假设命令获取 1.txt,2.txt,3.txt,4.txt,5.txt。我需要从 AWS S3 中删除除 1.txt、2.txt、3.txt、4.txt 和 5.txt 之外的所有内容。

最佳答案

使用带有 head 的负数来获取除最后 n 行之外的所有行:

aws s3 ls s3://somebucket/ --recursive | sort | head -n -5 | while read -r line ; do
echo "Removing ${line}"
aws s3 rm s3://somebucket/${line}
done

关于linux - 如何从 AWS s3 中删除除最新的 5 个最近更新/新文件之外的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41391422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com