事例1:把文件结果做为参数,查看文件大小

cat 1.txt | xargs -i ls -hl {}

-i  用 {} 代替传递的数据

{}  作为cat的结果,在xargs作为一个参数

ls : 此处不支持命令别名,使用ll会报错

事例2:把find出来的文件复制到指定目录下

思路:

1)把需要查找的文件名称存放到1.txt文件里面

2)通过for循环找到文件

3)通过xargs -i 复制找到的文件

cat 1.txt

for i in `cat 1.txt`; do find .  -name “$i” |xargs -i cp {} /tmp/`date +%Y%m%d`  ;done

ll /tmp/`date +%Y%m%d`

-i  和-I 的区别,-I 要加一个{}

-i :  xargs -i       cp {} /tmp/

-I :  xargs -I {}   cp {} /tmp/

[root@localhost ~]# for i in `cat 1.txt`; do find .  -name “$i” |xargs -i  cp {} /tmp/`date +%Y%m%d`  ;done

[root@localhost ~]# rm -f /tmp/20220811/*

[root@localhost ~]# for i in `cat 1.txt`; do find .  -name “$i” |xargs -I {}   cp {} /tmp/`date +%Y%m%d`  ;done

[root@localhost ~]# ll /tmp/20220811/

总用量 8

-rw-r–r-- 1 root root 2656 8月  11 17:54 nginx.conf

-rw-r–r-- 1 root root  744 8月  11 17:54 ping-test.sh

事例3:批量删除docker容器

删除容器:docker ps -aq | xargs docker rm

删除镜像:docker images -q | xargs docker rmi

-f  强制删除