There's probably 400 ways to do this.. using find is likely the more efficient way, but:
You can use a for loop:
for i in `ls`; do mv $i dir/newdir/; done
Or a while loop with the file you created in your step 1:
ls -la|grep -e "May"|awk "{print $9, $10}" > some.files; cat some.files | while read mFILE; do mv $mFILE dir/newdir; done
Or with find (where +30 is greater than X days):
find ./ -mtime +30 -exec mv dir/newdir {} \;
OR, if you want to use awk and xargs:
ls -la|grep -e "May"|awk "{print $9, $10}" | xargs mv dir/newdir/