文章目录
xargs是什么东东
- 英文全拼: eXtended ARGuments,是给命令传递参数的一个过滤器,也是组合多个命令的一个工具
- 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据
- 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行
- 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代
- xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令
说怎么多,实质可以用下面两句话概括
管道是实现“将前面的标准输出作为后面的标准输入”
xargs是实现“将标准输入作为命令的参数” 😢😭
管道与xargs的直观感觉
echo “Hello Sunny!” | cat
输出如下:
echo “Hello Sunny!” |xargs cat
输出如下:
来来来,我们再说下
管道符 | 所传递给程序的不是你简单地在程序名后面输入的参数,它们会被
程序内部的读取功能如scanf和gets等接收,加上了引号;而xargs则是将内容作为普通的参数传递给程序,不加引号
读者可以在命令行中敲入 echo “–help”|cat与echo “–help”|xargs cat,看下有什么差别,
算了算了,我还是让大家看下敲入的效果