April 24, 2019

The Joys of xargs - page 2

xargs and find

  • August 29, 2008
  • By Juliet Kemp

Moving on from find: it can be useful to pipe the contents of a file into xargs as input. So,

xargs -t -n2 diff < diff-files
would take the arguments listed in the file diff-files in groups of 2 and run diff on them. So if the diff-files file consisted of:
sample1 alternate1
sample2 alternate2
then xargs would run:
diff sample1 alternate1
diff sample2 alternate2
This can be a quick way of comparing large numbers of files. (Use -p instead of -t to get a pause after each diff as well as an echo of the command.)

You can also use a listings file and xargs to concatenate the contents of those files:

xargs cat < list-of-files > files-contents
(generate list-of-files using xargs as well!
find . -maxdepth 1 -name '*.tex' | xargs echo > list-of-files
would get all your LaTeX source files in the current directory into one list, ready to be stuck together.)

Most Popular LinuxPlanet Stories