xargs
将标准输入转换为命令参数
语法
xargs [选项] [命令]说明
xargs 读取标准输入的数据,转换为后续命令的参数并执行。常用于 find 的结果传递给 rm、grep 等不支持管道输入的命令。
参数
-n每次执行最多使用的参数个数
-I用占位符替换输入(如 -I {} 用 {} 代替)
-0输入以 null 分隔(配合 find -print0)
-P并行执行的最大进程数
-t执行前打印命令
示例
批量删除
删除 find 找到的所有 .tmp 文件
find . -name "*.tmp" -print0 | xargs -0 rm -f占位符替换
将文件列表压缩为 tar
find . -name "*.txt" | xargs -I {} cp {} /backup/并行执行
4 个进程并行下载
cat urls.txt | xargs -P 4 -n 1 curl -O