Hey there - generally, you don't want to base the output of a command on hoping ls did its job, but i've done it in the past..
For the ls -l you're going to get a string of different things.. the permissions, the date, the size, name of file, etc.. so while you can grep for "Aug 1", the xarg will be against the whole string, not just the filename..
So, if you wanted to continue down that road, you could use awk, but then you'd need to know if you have to account for spaces in the file names, etc..
What i'd maybe do in this case is use the find command to find things from x days ago, then do stuff to those..
here's some info on find:
Linux Find Files By Date - Learn how to find out files by date (e.g. find file accessed or modified on April/23/2008) on Linux and UNIX command line options
www.cyberciti.biz