本文共 1051 字,大约阅读时间需要 3 分钟。
xargs的作用
(1)将前一个命令的标准输出传递给下一个命令,作为它的参数,xargs默认命令是echo,空格是默认定界符(2)将多行输入转换为单行使用模式
front command | xargs -option latercommandfront command:前一个命令xargs常用选项
-n:指定一次处理的参数个数-d:自定义参数界定符-p:询问是否运行later command参数-t:表示先打印命令,然后再执行-i:逐项处理...更多参数查看man xargsxargs与管道|的区别
管道“|”用来将前一个命令的标准输出传递到下一个命令的标准输入。xargs将前一个命令的标准输出传递给下一个命令,作为它的参数。个人理解,命令参数就是直接跟在命令后面的,而标准输入可以是键盘、文件等。管道传递的是输入框中的内容,而xargs是直接将结果传递给命令作为参数。因此,加上xargs后,管道前面的结果会直接传递给后面的命令作为参数。xargs与-exec的区别
-exec:{}表示命令的参数即为所找到的文件,以;表示命令的结束,\用于限定分号作为命令结束符。-ok:类似于-exec,只是更安全,不会直接执行参数。find . -name '*.txt' -type f | xargs echo begin
find . -name '*.txt' -type f -exec echo begin {} ;
xargs需要结合管道使用,格式为:find [option] expression |xargs command
exec每处理一个文件都要启动命令,效率低,且需要使用{}和;对于空格文件名,find | xargs会有问题,而exec不会有这个问题。总结:
转载地址:http://ybxmz.baihongyu.com/