xargs命令
xargs命令是给其他命令传递参数的一个过滤器。xargs用作替换工具,读取输入数据重新格式化后输出。
xargs命令常见用法
Usage: xargs [OPTION]... COMMAND INITIAL-ARGS
-n:多行输出
-d:delim, --delimiter=delim 自定义输入条目分隔符
[root@host-39-108-217-12 ~]# cat a.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
实例一:-n选项
[root@host-39-108-217-12 ~]# cat a.txt | xargs -n 2
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@host-39-108-217-12 ~]# cat a.txt | xargs -n 4
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@host-39-108-217-12 ~]# cat a.txt | xargs
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
实例二:-d选项
[root@host-39-108-217-12 ~]# cat a.txt | xargs -d "/"
root:x:0:0:root: root: bin bash
bin:x:1:1:bin: bin: sbin nologin
daemon:x:2:2:daemon: sbin: sbin nologin
adm:x:3:4:adm: var adm: sbin nologin
lp:x:4:7:lp: var spool lpd: sbin nologin
[root@host-39-108-217-12 ~]# cat a.txt | xargs -d ":"
root x 0 0 root /root /bin/bash
bin x 1 1 bin /bin /sbin/nologin
daemon x 2 2 daemon /sbin /sbin/nologin
adm x 3 4 adm /var/adm /sbin/nologin
lp x 4 7 lp /var/spool/lpd /sbin/nologin
[root@host-39-108-217-12 ~]# echo "zhangxjunxchaoxzhangxyixke" | xargs -d "x"
zhang jun chao zhang yi ke
注:分隔符要么是单一字符,要么是以\开始的转义序列。