diff options
author | Johannes Stoelp <johannes.stoelp@gmail.com> | 2024-11-17 00:01:08 +0100 |
---|---|---|
committer | Johannes Stoelp <johannes.stoelp@gmail.com> | 2024-11-17 00:01:08 +0100 |
commit | deb4619a79deace26923e91a93b6d7bbfce40e78 (patch) | |
tree | bfaea20071fd17bcc31cd5c75ff0b7ddce03a224 /src/cli/xargs.md | |
parent | b9d649c726fcd4635e26cf54624152cbe43c9d5e (diff) | |
download | notes-deb4619a79deace26923e91a93b6d7bbfce40e78.tar.gz notes-deb4619a79deace26923e91a93b6d7bbfce40e78.zip |
Diffstat (limited to 'src/cli/xargs.md')
-rw-r--r-- | src/cli/xargs.md | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/cli/xargs.md b/src/cli/xargs.md new file mode 100644 index 0000000..a6f3c8c --- /dev/null +++ b/src/cli/xargs.md @@ -0,0 +1,23 @@ +# xargs(1) + +``` +xargs [opts] [cmd [init-args]] + -l [<num>] maximal number of lines per cmd invocation + if <num> it not provided, num=1 is assumed + -I <str> replace <str> in the [init-args] with the arg; + this implies -l, and hence processes one arg at a time +``` + +## Example + +Collect arguments and prefix them with another option. +```sh +# Using -l to process one arg at a time. +eval strace -f (find /dev -name 'std*' | xargs -l echo -P | xargs) ls + +# Using -I to place the arg at the specified location. +eval strace -f (find /dev -name 'std*' | xargs -I {} echo -P {}) ls + +# Both commands achieve the same thing and result in something like: +# eval strace -f -P /dev/stdin -P /dev/stdout -P /dev/stderr ls +```
\ No newline at end of file |