Может быть что-то вроде этого:
Найти файлы с регулярным выражением. Для каждого найденного файла извлеките дату, сравните с заданным, примите меры, если они меньше.
#! /bin/bash
SCRIPT=`basename "$0"`
if [ $# -lt 2 ] ||[ "$1" == "" ] || [ "$1" == "--help" ] || [ "$1" == "-h" ] || [ "$1" == "/?" ]; then
echo "$SCRIPT: Usage: [directory-path] [cutoff-date]"
echo "$SCRIPT: Deletes files in the given path newer than the specified date YYYY-MM-DD"
exit 1
fi
# TODO - check $CUTOFF_DATE is valid
# TODO - check $DIR is valid
DIR="$1"
CUTOFF="$2"
# Find files ending with YYYY-MM-DD.log
find "$DIR" -iname \*\[0-9\]\[0-9\]\[0-9\]\[0-9\]-\[0-9\]\[0-9\]-\[0-9\]\[0-9\].log |
while read file
do
date_part=`echo "$file" | rev | cut -c5-14 | rev`
if [ "$date_part" \< "$CUTOFF" ]; then
echo "$SCRIPT: should remove \"$file\""
# rm -f "$file"
fi
done