amazon s3で世代管理(bash)

バックアップをアップロードしたあと指定した世代分だけ残して他を削除するスクリプトです。lifetimeなどの機能が追加されたようでスクリプトで行なう意味は小さいかもしれませんが、一応このような形で行なうことが出来ます。
以下は例えば3世代分のこした管理を行なう場合です。

aws s3 ls s3://{管理したいフォルダ} >list.log
num=`cat list.log |awk 'END {print NR}'`
num=`expr $num - 3`
echo "delete num = $num"
echo "delete list"
cat list.log |head -n $num

for target in `seq 1 $num`; do
  echo $target
  rmfile=`cat list.log |awk '{print $2}' | head -n $target | tail -n 1`
  echo "s3://{管理したいフォルダ}/$rmfile"
  aws s3 rm  s3://{管理したいフォルダ}/$rmfile --recursive
  echo ""
done