I use xargs a lot especially with find. Many times I want to pass the arguments as parameters to the command I’m trying to run with xargs usually somewhere in the middle. Today I found it
Time for an arbitrary example, this is completely made up to illustrate the point so don’t bother with “why are you using xargs for that comments”.
So you want to find .png files that are different in /foobar/tmp and /tmp/.
cd /foobar/tmp; find . -name '*.png' | xargs -n 1 -I imagename diff imagename /tmp/imagename
The -I argument tells xargs to replace the string that follows -I in the command arguments with the values from standard input. This is totally cool, and beats the old way I did things which was to write a simple shell script and call that from xargs
There are many ways to do what I did above, but hopefully folks find this xargs tip useful.



You can also use the -exec parameter of find like the following:
find -iname 'asdf*' -exec mv '{}' .Trash/ ';'