如何通过脚本将linux 一个目录下不符合明明要求的文件和目录全部删除?

如何通过脚本将linux 一个目录下不符合明明要求的文件和目录全部删除?

问题描述:

data/20201205 是正常目录名(时间日期)不符合此要求的都是非正常名称 

如何通过shell脚本进行删除

for file in `ls`; do 
if echo $file | grep -q "" && date -d $file +%Y%m%d 2>/dev/null
then 
  rm -r $file
fi
done

先cd 到data 目录下再执行,不建议从外层目录删

我好像写反了,符合的不删,你加个else,在else里删