xargs命令是给其它命令传递参数的过滤器,它将标准输入数据转换成命令行参数,能够处理管道或者stdin,并将其转换成特定命令的参数。xargs也可以将单行、多行文本输入转换成别的格式。

xargs用法:

1、替换工具(读取输入数据,重新格式化输出)

文件:test.txt

内容:

a b c d e f g

h i j k l m n

o p q

r s t

u v w x y z

多行变单行输出:

cat test.txt|xargs

CentOS7.3学习笔记总结(二十五)_过滤

-n 选项:多行输出

cat test.txt|xargs -n3

CentOS7.3学习笔记总结(二十五)_xargs_02

-d选项:自定义定界符

echo "nameynameynameynameynameyname" |xargs -dy

CentOS7.3学习笔记总结(二十五)_xargs_03

2、xargs和find结合使用

如果我们删除大量的文件的时候,我们可以使用findxargs结合使用删除:

find ./ -type f -name "file*.log"|xargs rm -f

CentOS7.3学习笔记总结(二十五)_管道_04

查询统计当前目录下所有log文件的行数:

find ./ -type f -name "*.log"|xargs wc -l

CentOS7.3学习笔记总结(二十五)_过滤_05