xargs
[options
] [command
]
Execute command
(with any initial arguments), but read remaining
arguments from standard input
instead of specifying them directly. xargs passes these arguments
in several bundles to command
, allowing command
to process more arguments than it could normally handle at once.
The arguments are typically a long list of filenames
(generated by ls or find, for example) that get passed to xargs via
a pipe.
string
Stop passing arguments when argument string
is encountered
(default is underscore).
Pass arguments to command
, replacing
instances of { } on the command line with the current line of input.
n
Execute command
for n
lines of arguments.
n
Execute command
with up to n
arguments.
Prompt for a y to confirm each execution of command
.
n
Each argument list can contain up to n
characters (470 is the default and
the maximum value).
Echo each command
before executing.
Exit if argument list exceeds n
characters (from -s);
-x takes effect automatically with -i and -l.
grep for pattern
in all files on the system:
find / -print | xargs grep
pattern
> out &
Run diff on file pairs (e.g., f1.a and f1.b, f2.a and f2.b ...):
echo $* | xargs -n2 diff
The previous line would be invoked as a shell script, specifying filenames
as arguments.
Display file
, one word per line (same as deroff -w):
cat
file
| xargs -n1
Move files in olddir to newdir, showing each command:
ls olddir | xargs -i -t mv olddir/{ } newdir/{ }