通过xargs填充参数时命令失败,但直接填充参数时命令失败

时间:2019-05-15 22:14:18

标签: bash xargs

我有一个bash函数

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}
}                                                                                                                                                                    

如果我直接致电

agg_generror 17.5

有效并且没有抱怨。

但是,如果我这样做

echo 17.5 | xargs -I % sh -c 'agg_generror %'

失败
17.5
awk: fatal: division by zero attempted

为什么两种情况下的行为会有所不同?

1 个答案:

答案 0 :(得分:0)

阅读时;做agg_generror $ REPLY;完成