xargs命令把从stdin接受到的数据从新格式化。例如:安全
$command | xargs程序
xargs命令能够将多行输入转换成单行输出command
$cat example.txt方法
1 2 3 4 5 6统计
7 8 9 10数据
11 12删除文件
$cat example.txt | xargsdi
1 2 3 4 5 6 7 8 9 10 11 12文件
xargs也能够分红多行输出,每行输出n个。如:co
$cat example.txt | xargs –n 3
1 2 3
4 5 6
7 8 9
10 11 12
xargs能够读取stdin,而后将格式化参数传递给命令,如:
$cat example.txt | xargs –n 7 echo
1 2 3 4 5 6 7
8 9 10 11 12
同时能够结合find使用xargs,如:
$ find . –type f –name “*.txt” –print | xargs rm –f
以上删除文件的作法比较危险,不少文件均可能会包含空格符,而xargs极可能会误认为它们是定界符,一下是较安全的方法:
$ find . –type f –name “*.txt” –print0 | xargs -0 rm –f
xargs -0将\0做为输入定界符。
如下是xargs更强大的一个应用,好比统计全部c程序文件的行数:
$ find . –type f –name “*.c” –print0 | xargs -0 wc -l