事例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 强制删除