xargs 命令

原文链接open in new window

标准输入和管道

管道将前面的输出stdout作为后面的输入stdin。Unix 中的命令都带有参数,有的命令可以接收标准输入作为参数,如cat /etc/passwd | grep root。但是大多数命令不接受标准输入作为参数,只能在命令行输入参数,这会导致无法使用管道命令传递参数。

xargs的作用就是将标准输入转换为命令行参数。

xargs 使用

语法规则: xargs [-options] [command]

真正执行的命令,紧跟在xargs的后面,接受xargs传递的参数。

xargs 单独使用

大多数使用,xargs都是与管道一起使用,但是其也可以单独使用。xargs背后默认的命令为echo即:xargs相当于xargs echo

xargs 选项

  • -d: 分隔符。默认xargs以空格作为分隔符。使用-d可以更改分隔符
  • -p-t: 使用xargs后,由于存在参数的转换,有时候需要确认执行的是什么命令,此时使用-p可以打印要执行的命令,并询问用户是否执行,输入y后可执行;-t则直接打印要执行的命令并执行
  • -L: 如果标准输入包含多行,使用该参数指定多少行作为一个命令行参数
  • -n: -L解决多行问题,但是有时候用户会在一行输入多项,-n指定每次将多少项作为命令行参数。

常用示例

Last Updated: 2021/12/9 下午5:34:20
Contributors: smalltown