title: How do I grep multiple possible extensions recursively
body: <p>This question is different from other grep pattern matching questions because we're looking for a large number of file extensions, and thus the following from <a href="https://stackoverflow.com/questions/12516937/grep-but-only-certain-file-extensions">this question</a> will be too long and tedious to type:
  <code>grep -r -i --include '*.ade' --include '*.adp' ... CP_Image ~/path[12345]</code></p>
  
  <p>I was trying to email the backup of a static site when Google blocked my attachment upload for security reasons. Their <a href="https://support.google.com/mail/answer/6590?hl=en" rel="nofollow noreferrer">support page says</a>:</p>
  
  <blockquote>
    <p>You can't send or receive the following file types:</p>
    
    <p>.ade, .adp, .bat, .chm, .cmd, .com, .cpl, .exe, .hta, .ins, .isp, .jar, .jse, .lib, .lnk, .mde, .msc, .msp, .mst, .pif, .scr, .sct, .shb, .sys, .vb, .vbe, .vbs, .vxd, .wsc, .wsf, .wsh</p>
  </blockquote>
  
  <p>I converted and tested the following Regular Expression <a href="http://regexr.com/3b2n5" rel="nofollow noreferrer">here</a>:</p>
  
  <pre><code>/.*\.(ade|adp|bat|chm|cmd|com|cpl|exe|hta|ins|isp|jar|jse|lib|lnk|mde|msc|msp|mst|pif|scr|sct|shb|sys|vb|vbe|vbs|vxd|wsc|wsf|wsh)/gi
  </code></pre>
  
  <p>And tried running it with:</p>
  
  <pre><code>ls -lahR | grep '.*\.(ade|adp|bat|chm|cmd|com|cpl|exe|hta|ins|isp|jar|jse|lib|lnk|mde|msc|msp|mst|pif|scr|sct|shb|sys|vb|vbe|vbs|vxd|wsc|wsf|wsh)'
  </code></pre>
  
  <p>It doesn't work. I don't think grep interprets the and (<code>|</code>) symbol properly because <code>ls -lahR | grep '.*\.html'</code> works</p>