linux基础_xargs

蛋蛋 2025年06月05日 11 0

xargs 是 Linux/Unix 系统下常用的命令行工具,用于将输入数据转化为命令行参数,以高效地批量处理数据。它通常与管道 (|) 连用,将前一个命令的输出作为后一个命令的参数。

下面是 man xargs 的常见内容中文解析:


简要说明

xargs - build and execute command lines from standard input

xargs —— 从标准输入构建并执行命令行


基本用法

xargs [options] [command [initial-arguments]]

常用参数说明

参数 作用
-n N 每次命令行只使用 N 个参数(例:-n 1 表示每次只给命令一个参数)
-d 指定输入分隔符(如 -d '\n' 表示以换行符分隔)
-I {} 定义替换字符串。用 {} 代表每个输入项出现在命令行的位置
-p 每次执行前询问用户确认
-r 输入为空时不运行命令(有的系统中是 -r,有的是 -e)
-0 输入项以空字符(null)分隔(常用于配合 find ... -print0

常见示例

  1. 基本用法:

    echo "a b c" | xargs mkdir
    

    依次新建 a、b、c 文件夹。

  2. 与 find 配合删除:

    find . -name "*.log" | xargs rm
    

    删除当前目录及子目录下所有 .log 文件。

  3. 每行一个参数:

    cat list.txt | xargs -n 1 echo
    

    list.txt 每一行都会单独作为参数 echo 一次。

  4. 使用空字符分隔(配合 -print0):

    find . -name "*.txt" -print0 | xargs -0 rm
    

    能安全处理包含空格/特殊字符的文件名。

  5. 替换字符串:

    echo "file1 file2" | xargs -n 1 -I {} mv {} {}.bak
    

    把 file1、file2 分别重命名为 file1.bak、file2.bak。

  6. 并发执行

    echo "file1 file2 3 4 5 6 7 8 9" | xargs -P 8 -I {} 要并发执行的命令 {}
    

    并发执行


查看 man 页

在终端可通过如下命令查看完整帮助文档:

man xargs

或获得更直观说明:

xargs --help
Last Updated: 2025/06/05 18:25:24
shell语句_case Visual Studio Code使用技巧