Tente isso,
D1='date -d "1 day ago" +"%Y%m%d"' && D2='date -d "2 day ago" +"%Y%m%d"' && D='date +"%Y%m%d"' && find . -type f -name "wf_*_*.xml" -not -name "wf_*_$D*.xml" -not -name "wf_*_$D1*.xml" -not -name "wf_*_$D2*.xml" -exec rm {} +
- armazena as últimas 3 datas em D1, D2 e D
- encontre os arquivos com o padrão
wf_*_*.xml
- ignore os padrões com as três últimas datas como
wf_*_$D*.xml
,wf_*_$D1*.xml
ewf_*_$D2*.xml
- remova os arquivos