Сбой команды при подаче аргумента через xargs, но не при прямой подаче аргумента - PullRequest
0 голосов
/ 16 мая 2019

У меня есть функция 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 голосов
/ 05 июня 2019

во время чтения;do agg_generror $ REPLY;сделано

...