文件查看与文本处理-xargs

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

作用

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

语法

1
命令 | 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 每批最多参数数

示例

1
2
3
4
5
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 进程并行统计

来源:菜鸟教程