Linux中命令参数的传递——xargs

功能说明

xargs用于Linux下命令参数的传递

管道符( | )作用为将前一命令的stdout作为后一命令的stdin

xargs与之有别, 将前一命令的stdout作为后一命令的参数

示例

[root@server ~]# echo --help | cat
--help


[root@server ~]# echo --help | xargs cat
Usage: cat [OPTION]... [FILE]...
Concatenate FILE(s), or standard input, to standard output.

  -A, --show-all           equivalent to -vET
  -b, --number-nonblank    number nonempty output lines, overrides -n
  -e                       equivalent to -vE
  -E, --show-ends          display $ at end of each line
...以下省略...

 xargs的常用参数

不加参数的xargs命令会将前一命令的stdout一次传至后一命令的参数中

-n *num*

一次传*num*个参数, 其实-n *num*是--max-args=*num*的缩写, 表示一次最多*num*个参数传入

-0

参数间的分隔是空(null)字符而不是空格, 是--null的缩写, 该参数常与find命令的-print0参数联用

-I *replace-str*

用于将参数至于指定位置, 示例: cat xargs-paras | xargs -I [] touch []

补充说明 

xargs后面接的命令, 不可以是shell builtins(内建命令)

发布了41 篇原创文章 · 获赞 6 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/sean908/article/details/91415394