title: Pass a list of files to grep
body: <p>I have a list of files in a file. The list is huge, and the filenames are non-standard: that means, some have spaces, non-ascii characters, quotes, single quotes ...</p>
  
  <p>So, passing that <em>huge</em> list of files to grep as arguments is not an option:</p>
  
  <ul>
  <li>because I am not sure that I will not exceed the length of the arguments allowed in linux. I guess I can solve this by partitioning arguments with <code>xargs</code>, though.</li>
  <li>because escaping those characters is complicated. If I want to enclose the filename in double quotes and that filename happens to have a double quote, I am in trouble. So I would need to escape some characters. The whole thing looks very complicated, and I do not want to walk that path.</li>
  </ul>
  
  <p>There must be a simpler way: how can I tell grep to use my list of files as files to grep from? I assume that since the list of files would not be processed by the shell, escaping and argument length is not an issue anymore. The question is whether grep supports this operation mode, which I have been unable to find in the documentation.</p>