xargs 命令
我们可以用管道将一个命令的 stdout(标准输出)重定向到另一个命令的 stdin(标准输入)。但有些命令只能以命令行参数的形式接收数据,而无法通过 stdin 接收数据流。在这种情况下,无法通过管道将数据重定向给这些命令。这时 xargs 就可以发挥它的作用了,xargs 命令可以从标准输入接收输入,并把输入转换为一个特定的参数列表。
(1)命令格式
command | xargs [选项] [command]
xargs 命令应该紧跟在管道操作符之后,因为它以标准输入作为主要的源数据流。
(2)常用参数
参数 | 描述 |
---|---|
-n | 指定每行最大的参数数量 |
-d | 指定分隔符 |
(3)常用范例
例一:将多行输入转换为单行输出,可以使用如下命令:
cat a.txt | xargs
例二:将单行输入转换为多行输出,可以使用如下命令:
echo "1 2 3 4 5 6 7" | xargs -n 3
例三:将单行输入转换为多行输出,指定分隔符为 i,可以使用如下命令:
扫描二维码关注公众号,回复:
13144393 查看本文章

cat b.txt | xargs -d i -n 3
例四:查找当前目录下所有 c 代码文件,统计总行数,可以使用如下命令:
find . -type f -name "*.c" | xargs wc -l