xargs cannot replace {} with a lot of arguments, so if mv did not have --target-directory, then xargs would have to do:<p><pre><code> find ... | xargs -0 -i {} mv {} ~/Pictures
</code></pre>
which would run one mv per file.<p>GNU Parallel <a href="http://www.gnu.org/software/parallel/" rel="nofollow">http://www.gnu.org/software/parallel/</a> allows for replacing {} with multiple arguments. So this would do the right thing:<p><pre><code> find ... | parallel -X -0 mv {} ~/Pictures
</code></pre>
GNU Parallel is useful for many other applications. Watch the intro video to learn more: <a href="http://www.youtube.com/watch?v=OpaiGYxkSuQ" rel="nofollow">http://www.youtube.com/watch?v=OpaiGYxkSuQ</a>