I'm not sure the following will gives the same "argument list too long" error, anyway you might give it a try:
Code:
for file in *.zip
do
if unzip -l $file | grep -q plu.iu$
then
mv $file /path/to/destination/dir
fi
done
If you get the error above, we need to change the logic to avoid the usage of the huge list in a single statement/command.
To list the files, you can go up by one level and list the content of the directory, e.g
Code:
$ cd ..
$ ls directory_containing_zip_files/