xargs命令详解

打印 上一主题 下一主题

主题 795|帖子 795|积分 2385

xargs 是一个强大的命令行工具,用于将标准输入数据转换为命令行参数,并执行一个命令。以下是 xargs 的一些详细用法和选项:
基本用法

xargs 命令的基本格式如下:
  1. command | xargs another_command
复制代码
这里,command 的输出将作为 another_command 的参数。
选项


  • -0 或 --null:输入项之间用空字符分隔,而不是默认的空白字符(空格、制表符或换行)。
  • -a file:从文件中读取输入,而不是标准输入。
  • -I replace-str:将输入项替换为 replace-str。这在循环执行命令时非常有用。
  • -i 或 --replace:与 -I 类似,但 replace-str 可以是 {},这是一个特殊的占位符。
  • -L number:每次处理惩罚 number 行输入。
  • -l 或 --lines:与 -L 类似。
  • -n number 或 --max-args number:每次执行 another_command 时通报的最大参数数量。
  • -P max-procs 或 --max-procs=max-procs:使用的最大进程数(并行执行)。
  • -r 或 --no-run:不要执行命令,只打印构建的参数。
  • -t 或 --no-terminate:在参数后面不添加换行符。
  • -x 或 --exit:如果 another_command 执行失败,则退出 xargs。
  • -E eof-str 或 --eof=eof-str:当读取到 eof-str 时停止读取输入。
  • -J replace-str 或 --arg-file=replace-str:与 -I 类似,但用于从文件中读取参数。
  • -p:提示用户确认每个参数。
示例


  • 将文件名作为参数通报给 rm 命令
  1. echo "file1 file2 file3" | xargs rm
复制代码

  • 使用 -I 选项循环删除文件
  1. echo "file1 file2 file3" | xargs -I {} rm {}
复制代码

  • 并行处理惩罚
  1. find . -name "*.txt" -print | xargs -n 1 -P 4 cat
复制代码
这个命令会找到所有 .txt 文件,并并行(使用 4 个进程)执行 cat 命令。

  • 使用 -0 选项处理惩罚以空字符分隔的输入
  1. printf "%s\0" "file1" "file2" "file3" | xargs -0 rm
复制代码

  • 使用 -P 选项并行处理惩罚
  1. cat list.txt | xargs -n 2 -P 4 echo "Processing {} "
复制代码

  • 使用 -L 选项每次处理惩罚一行
  1. cat list.txt | xargs -L 1 echo "Processing line {} "
复制代码
xargs 是一个非常灵活的工具,可以根据不同的选项和上下文举行各种复杂的参数处理惩罚和命令执行。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

忿忿的泥巴坨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表