#!/bin/bash name="$1" if [[ "X${name}" == 'X' ]] then echo "Usage: $0 file-name-snippet" exit fi # unwanted.log.25.gz ls -1 ${name}.[0-9]*.gz | while read file do extra=$(echo ${file} | sed "s/^${name}.//" | sed 's/.gz$//') new=$(date '+%Y%m%d' -d "-${extra} days") echo "mv ${file} ${name}-${new}.gz" mv ${file} ${name}-${new}.gz done