linux下xargs基本用法

新建一个文件看下有如下测试数据

hadoop@hadoop:~$ cat test.txt
weihongrao is stupy
hohai university
first time to shenzhen is 2009
now i will go
end here

shell 文件如下

hadoop@hadoop:~$ cat test.sh
#!/bin/bash

if  [[ $# > 0 ]]; then
echo "parameter $* is given";
else
echo "no parameter is given"
fi

1. hadoop@hadoop:~$ cat test.txt |xargs bash test.sh
parameter weihongrao is stupy hohai university first time to shenzhen is 2009 now i will go end here is given
hadoop@hadoop:~$

#可以看出test.sh执行了一次而已,xargs 把管道的所有输出全部传给了下一个命令


2.hadoop@hadoop:~$ cat test.txt |xargs -0  bash test.sh
parameter weihongrao is stupy
hohai university
first time to shenzhen is 2009
now i will go
end here
 is given
#test.sh同样也只是执行了一次,但是输出的结果保留了源文件的换行符号


3.hadoop@hadoop:~$ cat test.txt |xargs -i  bash test.sh {}
parameter weihongrao is stupy is given
parameter hohai university is given
parameter first time to shenzhen is 2009 is given
parameter now i will go is given
parameter end here is given
hadoop@hadoop:~$
#使用-i之后xargs会吧前一个的每个输出都传给下一个命令而且是分别执行下一个命令










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值