title: How can I grep while avoiding 'Too many arguments'
body: <p>I was trying to clean out some spam email and ran into an issue.  The amount of files in queue, were so large that my usual command was unable to process.  It would give me an error about too many arguments. </p>
  
  <p>I usually do this</p>
  
  <pre><code>grep -i user@domain.com 1US* | awk -F: '{print $1}' | xargs rm
  </code></pre>
  
  <p>1US* can be anything between 1US[a-zA-Z].  The only thing I could make work was running this horrible contraption. Its one file, with 1USa, 1USA, 1USb etc, through the entire alphabet.  I know their has to be a way to run this more efficiently.</p>
  
  <pre><code>grep -s $SPAMMER /var/mailcleaner/spool/exim_stage1/input/1USa* | awk -F: '{print $1}' | xargs rm
  grep -s $SPAMMER /var/mailcleaner/spool/exim_stage1/input/1USA* | awk -F: '{print $1}' | xargs rm
  </code></pre>