ファイル名中の日付表現をみて一定期間前のファイルは削除する メモ Bash の IF 文 で 正規表現

#!/bin/bash

TARGET_DIR=/hoge/hoge
DELETE_DAY=`date +"%Y%m%d" -d '14 days ago'`

cd $TARGET_DIR
FILE_LIST=`ls`

for FILE in $FILE_LIST
do
 # ファイル名にYYYYMMDDを含む
 if [[ ${FILE} =~ 201[0-9]{5} ]]
 then

  # ファイル名日付部分を取り出す
  FILE_DATE=`expr "${FILE}" : ".*\(201[0-9]\{5\}\)"`

  # 日付を比較して削除
  if [ ${FILE_DATE} -lt ${DELETE_DAY} ]
  then
   rm ${FILE}
  fi
 fi
done