#!/bin/bash # Before deleting a file ensure that # 1. The filename has the right FORMAT # 2. The file is a TYPE of compressed file # 3. The file has an EXTENSION of compresed file [ ${#} -ne 2 ] && echo "safedelete.sh: Some Argument is missing" && exit [ ! -f ${1} ] && echo "safedelete.sh: Argument is not a file: ${1}" && exit [ ${2} -gt 3600 ] && echo "safedelete.sh: Waiting time is more that one hour" && exit # # 1. Check the filename FORMAT # FORMAT=$(basename ${1} | grep -E "^[a-zA-Z0-9]{32}-.*\.(zip|gz|7zip|tar|tar\.gz|tar\.bz2)$" ) if [ "${FORMAT}" != "" ];then # # 2. Check the file TYPE # TYPE=$(file --mime-type ${1} | awk '{print $2}' | awk -F/ '{print $2}' ) if [ "${TYPE}" == "zip" ] || [ "${TYPE}" == "x-tar" ] || [ "${TYPE}" == "x-bz2" ] || [ "${TYPE}" == "gzip" ] || [ "${TYPE}" == "7zip" ];then # # 3. Check the file EXTENSION # EXTENSION=$(echo ${1} | awk -F\. '{print $NF}') if [ "${EXTENSION}" == "zip" ] || [ "${EXTENSION}" == "tar" ] || [ "${EXTENSION}" == "bz2" ] || [ "${EXTENSION}" == "gz" ] || [ "${EXTENSION}" == "7zip" ];then sleep ${2} && rm -f "${1}" else echo "Wrong file extension" && exit fi else echo "Wrong file type" && exit fi else echo "Wrong filename format" && exit fi