For GNU:
# make a list of files not created on Friday at 23:30 (I would go for 23rd hour)
# also exclude files created on the first of the month
temporary_file=$(mktemp -q /tmp/$0.XXXXXX)
if [ $? -ne 0 ]; then
echo "$0: Can't create temp file, exiting..."
exit 1
fi
ls -l --time-style="+%H___%a___%d" |\
grep -v "23___Fri" |\
grep -v "___1" |\
cut -f 1 | sed -e 's,^,./,' | sort \
> $temporary_file
# Now just older than two weeks; compare with list and exclude
find . -mtime +14 | sort |\
comm -23 - $temporary_file |\
tr "\r" "\0" |\
xargs -0 -n 10 echo
rm $temporary_file
For BSD-style, instead of --time-style="+%H___%a", use -D "+%H___%a" etc.
When you're sure it's correct, replace "echo" after xargs with "rm".