文件查看与文本处理-xargs 📄 — 批量执行命令

作用

xargs 从标准输入构建并执行命令行,将输入数据作为参数传递给指定命令,常用于批量文件操作。

语法

命令 | xargs [选项] [命令 [初始参数]]

用法

xargs 将管道输入转换为命令参数。-n N 每批 N 个参数,-P N 并行执行 N 个进程,-I {} 指定替换字符串(用 {} 代表输入的每个项)。经典组合:find . -name "*.log" | xargs rm -f-t 打印执行命令(调试),-0 配合 find -print0 处理含空格的文件名。

常用参数

参数说明
-n N每批 N 个参数
-P N并行执行 N 个进程
-I 替换串指定替换字符串
-0以 NUL 分隔输入
-t打印执行命令
-R N最多替换次数
--max-args=N每批最多参数数

示例

find . -name "*.log" | xargs rm -f      # 批量删除 .log 文件
find . -name "*.txt" | xargs grep "HELLO"   # 在多个文件中搜索
find . -type f -print0 | xargs -0 wc -l  # 安全处理含空格的文件名
echo FILE1 FILE2 FILE3 | xargs -n 1 echo # 每批执行 1 个参数
find . -name "*.py" | xargs -P 4 wc -l   # 4 进程并行统计

来源: 菜鸟教程

🔗 相关文档

文件查看与文本处理-grep | 文件查看与文本处理-sed | 文件查看与文本处理-awk | 文件查看与文本处理-cut