基本使用

  • 把标准输入转换成命令行参数,传递给 xargs 后的命令使用

    1
    2
    3
    
    echo 'one two three' | xargs mkdir
    # 等于
    mkdir one two three
  • 默认命令 echo

    1
    2
    3
    
    seq 1 8 | xargs
    # 等于
    seq 1 8 | xargs echo
  • -d 指定分隔符,默认是换行和空格

    1
    
    echo -e "a\tb\tc" | xargs -d "\t" echo
  • -p 打印出要执行的命令,并询问用户是否执行

  • -t 打印出要执行的命令,直接执行

  • -0 指定 null 当作分隔符,一般用于分隔包含空格的字符串列表

    1
    
    find /path -type f -print0 | xargs -0 rm
  • -L 指定标准输入中的多少行作为一个参数

  • -n 一行中可能包含空格分隔的多项,该参数指定每次将多少项作为命令行参数

  • -I 指定每一项命令行参数的替代字符串

    1
    
    seq 1 8 | xargs -I PAT echo PAT
  • -P 指定同时使用多少个进程执行命令,默认只用一个,0 表示不限制

  • –show-limits 查看系统命令行缓冲上限