Uma resposta simples é usar o argumento "newer" do comando find, que encontra qualquer arquivo mais novo que outro arquivo. Como o que queremos é na verdade o inverso, precisaremos de um script que conte os arquivos que foram modificados (ou seja, sejam mais recentes) e imprima o nome do diretório, se NONE for encontrado.
DATE='date -d "-30 days"' #Calculate a date 30 days before today
touch -d "$DATE" /tmp/newer #Create a temp file with the calculated date
#Assume we're passing in a list of directories
#We could just as easily find any directory below a certain point without
#newer files by setting DIR='find /what/ever/directory -type d'
for DIR in $*
do
MOD='find "$DIR" -newer /tmp/newer | wc -l' #Count the number of newer files
if [ "$MOD" -eq 0 ]
then
echo $DIR # Nothing new in 30 days - Print the name of the Dir
fi
done