Bem, parece ser tarde para a rotina, mas vamos postar uma.
Antes quero dizer que:
1 - A rotina ficou grande para ter consistência de data. Com certeza tem como fazer a rotina menor, mas não pesquisei.
2 - A rotina não informa caso não existam arquivos com a data em questão
3 - A rotina não avisa que terminou, apenas apresenta o prompt
4 - Como o assunto é remoção eu não me responsabilizo por perda de dados (claro... hehe), basta fazer testes antes de colocá-la em uso
5 - Copie o código, cole em um arquivo, mude as permissões dele para execução também e ela vai rodar sem erros.
# Remove arquivos baseados na data de "ontem"
#
# Cristiano
# 30/09/2006
#
# Dia Atual
DIA=`date +'%d'`
# Mes Atual
MES=`date +'%m'`
# Ano Atual
ANO=`date +'%Y'`
case $DIA in
01)# Para quando o dia atual for igual a 1
case $MES in
01) #Para o dia/mes igual a 01/01
ANO=`expr $ANO - 1`
MES="12"
DIA="31"
;;
*) #Para dia = 01 e qualquer outro mes
MES=`expr $MES - 1`
case $MES in
1 | 3 | 5 | 7 | 8 | 10 | 12) # Mes anterior que termina com dia 31
DIA="31"
;;
4 | 6 | 9 | 11) # Mes anterior que termina com dia 30
DIA="30"
;;
2) # Mes anterior for fevereiro, com consistência de ano bisexto
RESTO=`expr $ANO % 4`
if test $RESTO -eq 0; then
DIA="29"
else
DIA="28"
fi
;;
esac
;;
esac
;;
*)
DIA=`expr $DIA - 1`
esac
# Formata data para obrigatoriamente AAAA-MM-DD
DATA=`printf "%4s-%2s-%2s" $ANO $MES $DIA | tr -t " " "0"`
# Solicita confirmação para remoção.
clear
echo -e "Deseja remover os arquivos na pasta `pwd`\ncom data de criação igual a \033[1m$DATA\033[0m (s/N)? \c"
read OP_SN
# Formata resposta para letra maiuscula
OP_SN=`echo $OP_SN | tr "a-z" "A-Z"`
# Qualquer resposta diferente de "S" faz o script parar
[ "$OP_SN" != "S" ] && exit
[ "$OP_SN" = "" ] && exit
# Le os arquivo da pasta atual e remove todos os arquivos com data de "ontem"
#
# Caso não exista nenhum arquivo com tal data nada é relatado.
#
for ARQ in `ls -l | grep $DATA | tr -s " " | cut -f8 -d" "`;do
rm -rf "$ARQ"
done
Espero ter ajudado
OBS.: RESPOSTA EDITADA, MUDANDO LINHA DO CÓDIGO DE:
echo rm -rf "$ARQ"
PARA
rm -rf "$ARQ"