参考:http://baike.baidu.com/link?url=3MShV9QMO4ru0NUXK3-CiGczfQGsFQ18tWVvv3RDX3EQoq0KHOd5oaOIc2PS0mvHZBUM63fE60p0ncmIOqfyi_
它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题。
xargs 可以读入 stdin 的资料,并且以空白字元或断行字元作为分辨,将 stdin 的资料分隔成为 arguments 。 因为是以空白字元作为分隔,所以,如果有一些档名或者是其他意义的名词内含有空白字元的时候, xargs 可能就会误判了,如果需要处理特殊字符,需要使用-0参数进行处理。
如 文件list中以换行为分隔符,有以下字段
1 2 3 4 5 6 7 |
/home/train/rm $vi list "list" aa bb cc dd ee |
下面将list文件中的内容作为输入,将该输入作为touch的argument,批量创建5个文件
1 2 3 4 |
/home/train/rm $cat list | xargs touch /home/train/rm $ls aa bb cc dd ee list /home/train/rm $ |