You need to know days between today and start/end of month in question. Or you can create files with specified start/end dates.
\r\n\r\n\r\n\r\n\r\n\r\nfind path -mtime +30 -mtime -60 -print0\r\n\r\n
...gets all files modified between 30 and 60 days ago, and prints them null-delimited (use with xargs 0).
\r\n\r\n\r\n\r\n\r\n\r\ntouch -d 'June 1, 2003' start\r\nfind path -newer start\r\n\r\n
...moves all files newer than 'start'. Start moving files from most recent month first with this method.
\r\n\r\nIf you need to do integer maths on shell, you can use the $(()) construct:
\r\n\r\n\r\n\r\n\r\n\r\nfind path -amin $(( 60 * 24 * 30 ))\r\n\r\n
...finds files modified within the past 30 days (60 minutes/hr * 24 hr/dy * 30 dy)
\r\n\r\nIf you need arbitrary precision, use bc: echo 'scale=3; (13/92)*100' | bc