首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >命令在通过xargs提供参数时失败,但在直接提供参数时不会失败

命令在通过xargs提供参数时失败,但在直接提供参数时不会失败
EN

Stack Overflow用户
提问于 2019-05-16 06:14:18
回答 1查看 26关注 0票数 0

我有一个bash函数

代码语言:javascript
运行
复制
agg_generror () {
    echo $1
    find ${folder} -name "${prefix}_*_${1}_${suffix}.count" | xargs -I % sh -c 'cat %; echo "";' | awk 'BEGIN{e=0;t=0} {e+=$1;t+=$2} END{print e/t}' > generror_${1}
}                                                                                                                                                                    

如果我直接调用

代码语言:javascript
运行
复制
agg_generror 17.5

工作正常,不会抱怨。

但如果我这么做了

代码语言:javascript
运行
复制
echo 17.5 | xargs -I % sh -c 'agg_generror %'

它失败了,错误为

代码语言:javascript
运行
复制
17.5
awk: fatal: division by zero attempted

为什么这两种情况下的行为可能不同?

EN

回答 1

Stack Overflow用户

发布于 2019-06-05 20:51:44

while read;do agg_generror $REPLY;done < input.txt

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56158339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档