title: Find files older than FILE without including FILE
body: <p>I have a plan to use <code>find</code> to give me a list of files that are older than some FILE and then use <code>xargs</code> (or <code>-exec</code>) to move the files to somewhere else. Moving stuff is not a problem; <code>| xargs mv {} ~/trash</code> works fine.</p>
  
  <p>Now, if I try to use <code>! -newer FILE</code>, then <code>FILE</code> is included in the list, which I do not want!</p>
  
  <p>The functionality of that command argument does indeed make sense logically, though, because 'not newer' could very well be interpreted as "same or older", like here:</p>
  
  <pre><code>$ find . ! -newer Selection_008.png -exec ls -l {} \;
  </code></pre>
  
  <p>includes the file from the compare argument:</p>
  
  <pre><code>-rw-r--r-- 1 and and 178058 2012-09-24 11:46 ./Selection_004.png
  -rw-r--r-- 1 and and 16260 2012-09-21 11:25 ./Selection_003.png
  -rw-r--r-- 1 and and 38329 2012-10-04 17:13 ./Selection_008.png
  -rw-r--r-- 1 and and 177615 2012-09-24 11:53 ./Selection_005.png
  </code></pre>
  
  <p>(<code>ls -l</code> is only to show dates for illustrative purposes)</p>
  
  <p>What I really need from <code>find</code> is an <code>-older</code> option, but none is listed in <code>find(1)</code>...</p>
  
  <p>Of course, one could just pipe the output through <code>grep -v</code>, use <code>sed</code>, etc., or utilise an environment variable to reuse the filename (fx. for <code>grep -v</code>) so I can enjoy the DRY-principle, like</p>
  
  <pre><code>$ COMP=Selection_008.png find . ! -newer $COMP | grep -v $COMP | xargs ...
  </code></pre>
  
  <p>but it just seems to be a lot of writing for a oneliner and that is not what I am looking for.</p>
  
  <p>Is there a shorter/simpler way than <code>find</code> or am I missing some option? I have checked the manpage, and searched Google and SO...</p>