首先看一下文本信息:
# cat text1.txt
1
2
3
4
5
使用xargs格式化一下:
# cat text1.txt | xargs
1 2 3 4 5
使用xargs格式化,每两个单词一组:
# cat text1.txt | xargs | xargs -n 2
1 2
3 4
5
xargs指定定界符:
# cat passwd | xargs -d :
root x 0 0 root /root /bin/bash
spark x 481 480 Spark /var/lib/spark /sbin/nologin
hue x 480 479 Hue /usr/lib/hue /bin/false
看一下文本信息:
# cat arg.txt
arg1
arg2
arg3
arg4
arg5
测试脚本信息如下:
# cat ddd.sh
#!/bin/sh
echo $*'#';
使用管道测试xargs:
# cat arg.txt | xargs sh ddd.sh
arg1 arg2 arg3 arg4 arg5#
# cat arg.txt | xargs -n 1 sh ddd.sh
arg1#
arg2#
arg3#
arg4#
arg5#
# cat arg.txt | xargs -n 2 sh ddd.sh
arg1 arg2#
arg3 arg4#
arg5#
输入重定向,并且文本中每行输出一次:
# cat arg.txt | xargs -I {} sh ddd.sh -p {} -l
-p arg1 -l#
-p arg2 -l#
-p arg3 -l#
-p arg4 -l#
-p arg5 -l#
xargs结合find案例一则:
# find . -type f -name "aaa *" -print0 | xargs -0 rm -rf