xargs可以读取标准输入和管道中的数据,用于弥补有些命令(如echo、kill、rm)不能从管道中读取数据的不足。
xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以单行或多行文本输入转换为其他格式,例如多行转单行,单行转多行。xargs的默认命令是echo,空格是默认定界符。
find . -name 'temp*' |xargs rm # 删除操作,小心使用
find ./ -name 'temp*' -print0 | xargs -0 rm
# find提供了一个print0选项,设置find在输出文件名后自动添加一个NULL来替代换行符,而xargs也可以通过-0选项,指定使用NULL而不是空格、Tab制表符、回车符为分隔符和结束符。
# 打开file_list.txt每一个文件的内容
cat file_list.txt|xargs cat
seq 10|xargs 多行换单行
seq 10 | xargs -n 2 # 每行两个