1. 介绍
xargs主要用于将标准输出转化为命令行参数, 传递给其他命令执行, 因为有些命令并不支持管道命令接收标准输入;
2. 使用
-
基本使用:
echo "one two three" | xargs mkdir
-
单独使用:
运行xargs 相当于运行: xargs echo -
打印执行的命令:
echo 'one two three' | xargs -p touch # 打印命令, 确认后执行
echo 'one two three' | xargs -t touch # 打印命令并执行
-
分隔符:
echo -e "atbtc" | xargs -d "t" rm
使用d参数指定命令间的分隔符 -
处理包含空格或换行符的文件名:
find / -type f print0| xargs -0 rm
该命令可以删除包括空格的文件, find命令的print0表示以null分割文件名 -
指定多少个参数执行一次命令:
echo -e 'a\nb\nc' | xargs -p -L 1 rm # L参数表示每多少行执行一次命令
echo -e 'a\nb\nc' | xargs -p -n 2 rm # n参数表示每多少个参数执行一次命令
-
指定命令行参数的替代字符串
echo 'abc' | xargs -I sss sh -c "rm sss|echo sss"
-
规定执行命令的并发:
docker ps -q | xargs -n 1 --max-procs 0 docker kill
0表示不限制并发, 最快速度;