MacOS中xargs为何无法识别空分隔符?执行结果不符预期
问题分析与解决
你的命令中,xargs -0会将所有以null分隔的输入参数一次性传递给echo X,因此a和b会被一起输出。要实现每次处理单个参数,需要给xargs添加-n 1选项,限制每次仅传递一个参数。
修正后的命令:
$ echo -e "a\nb" | tr "\n" "\0" | xargs -0 -t -n 1 echo X
执行后输出将符合预期:
echo X a X a echo X b X b
参数说明:
-n 1:指定xargs每次读取一个输入参数,随后调用一次目标命令(即echo X)-0:保留原作用,处理以null分隔的输入,避免特殊字符引发的问题-t:保持原有功能,执行命令前先打印命令本身
内容的提问来源于stack exchange,提问作者yegor256
相关产品推荐
相关产品推荐

