shell脚本之xargs使用的一些案例

首先看一下文本信息:

# 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

原文地址:https://www.cnblogs.com/wcwen1990/p/7047938.html