linux shell 之xargs 的简单使用

16:34

xargs将标准输入的参数转换成命令行参数。xargs命令应紧跟在管道命令之后。

例如:

Command |xargs

示例:

查找当前目录下内容包含字符串“main”的文件

$ ls |xargs grep  'main'

删除后缀名为txt的文件

$ find . -type f-name "*.txt" -print0 | xargs -0 rm -f

-0 将\0作为界定符

 

多行输入转成单行输出 (空格替换掉换行符)

$ cat example.txt #Example file

1 2 3 4 5 6

7 8 9 10

11 12

$ cat example.txt |xargs

1 2 3 4 5 6 7 8 9 1011 12

 

单行输入转成多行输出(-n 指定每行最大的参数数量)

$ cat example.txt |xargs -n 3

1 2 3

4 5 6

7 8 9

10 11 12

 

按指定的分界符进行分割(- d )

$ echo"splitXsplitXsplitXsplit" | xargs -d X

split split splitsplit

 

指定替找字符串操作(-I)

$ cat args.txt #Example file

param0

param1

Param2

如果要对每个param执行如下操作:$cmd -p param -l

则可用如下方法:

$cat args.txt | xargs -I {} cmd  -p {} -l

 

-I指定了一个替换字符串"{}",那么红色标记的{}会被从标准输入读到的参数替换掉。

则该命令等同于执行如下三条命令

cmd -p param0 -l

cmd -p param1 -l

cmd -p param2 -l

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值