linux下xargs命令用法

时间:2021-11-03 23:52:38

xargs命令的作用是将上一个命令的输出,传递到下一个命令中。它把一个输出流分割为一个足够小的块,方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin读取数据,默认的命令是echo,而且换行符和空白会被空格替代。

以下举个栗子:

[root@iZ23j6e7bheZ ~]# ll | grep '\.txt' 
-rw-r--r-- 1 root root       36 Apr 15 21:19 sort.txt
-rw-r--r-- 1 root root       38 Apr 15 21:01 uniq2.txt
-rw-r--r-- 1 root root       38 Apr 15 20:58 uniq.txt

1.直接使用xargs

[root@iZ23j6e7bheZ ~]# ll | grep '\.txt' | awk '{print $9}' | xargs
sort.txt uniq2.txt uniq.txt
结果返回了1行,3个文件名使用空格隔开,xargs根据行返回了3个参数。

2.使用-n参数指定参数个数

[root@iZ23j6e7bheZ ~]# ll | grep '\.txt' | awk '{print $9}' | xargs -n 2
sort.txt uniq2.txt
uniq.txt

结果返回了2行,每行2个参数