You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS系统中xargs占位符替换次数受限的问题求助

macOS系统中xargs占位符替换次数受限的问题求助

我最近碰到个头疼的问题:想把一段文本重复输出好几次,用来构建一些需要在不同位置用到相同文本的命令,但发现xargs的占位符替换好像最多只能处理5次?试了好几种方法都没解决,想问问有没有更好的处理方式。

最开始我试了这个命令:

echo "sometext " | xargs -n 9 -t -I RRRR echo  RRRR RRRR RRRR RRRR RRRR RRRR RRRR

执行后输出结果是:

echo sometext sometext sometext sometext sometext RRRR RRRR
sometext sometext sometext sometext sometext RRRR RRRR

能明显看到第6、7个RRRR根本没被替换成目标文本。

后来我换用printf来构建命令,结果还是一样的问题:

echo "sometext " | xargs  -t -I RRRR printf " cmd1 %s cmd2 %s cmd3 %s cmd4 %s  cmd5 %s cmd6 %s cmd7 %s"  RRRR RRRR RRRR RRRR RRRR RRRR RRRR

执行后的输出内容:

printf  cmd1 %s cmd2 %s cmd3 %s cmd4 %s  cmd5 %s cmd6 %s cmd7 %s sometext sometext sometext sometext sometext RRRR RRRR
cmd1 sometext cmd2 sometext cmd3 sometext cmd4 sometext  cmd5 sometext cmd6 RRRR cmd7 RRRR

依然是到第5个占位符之后就停止替换了。

我以为是-n参数的限制,特意把值设得很大,结果还是没用:

echo "sometext " | xargs -n 9000  -t -I RRRR printf " cmd1 %s cmd2 %s cmd3 %s cmd4 %s  cmd5 %s cmd6 %s cmd7 %s"  RRRR RRRR RRRR RRRR RRRR RRRR RRRR

输出情况和之前完全一致:

printf  cmd1 %s cmd2 %s cmd3 %s cmd4 %s  cmd5 %s cmd6 %s cmd7 %s sometext sometext sometext sometext sometext RRRR RRRR
cmd1 sometext cmd2 sometext cmd3 sometext cmd4 sometext  cmd5 sometext cmd6 RRRR cmd7 RRRR

甚至尝试了-L参数,依然没有任何改善:

echo "sometext " | xargs -L 1 -t -I RRRR printf " cmd1 %s cmd2 %s cmd3 %s cmd4 %s  cmd5 %s cmd6 %s cmd7 %s"  RRRR RRRR RRRR RRRR RRRR RRRR RRRR

输出还是:

printf  cmd1 %s cmd2 %s cmd3 %s cmd4 %s  cmd5 %s cmd6 %s cmd7 %s sometext sometext sometext sometext sometext RRRR RRRR
cmd1 sometext cmd2 sometext cmd3 sometext cmd4 sometext  cmd5 sometext cmd6 RRRR cmd7 RRRR

我的系统相关信息:

  • 操作系统:macOS 13.2
  • xargs版本:August 4, 2015

备注:内容来源于stack exchange,提问作者nelaaro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:49:08