Вот вам причудливое решение для Bash:
while IFS=$'\n' read -ra line; do
numbers=($line)
echo $(IFS=+; echo "$((${numbers[*]}))")
done < foo.txt
По предложению другого пользователя его можно сократить до:
while read -ra numbers; do
echo $(IFS=+; echo "$((${numbers[*]}))")
done < foo.txt
По предложению другого пользователя, один echo
можно удалить с помощью составного оператора вместо оператора подстановки команд:
while read -ra numbers; do
(IFS=+; echo "$((${numbers[*]}))")
done < foo.txt
Поскольку это помечено только Bash, это может быть полезным решением.
Согласно предложению @anishsaneвариант без модификации IFS в подоболочке:
while read -r line; do echo $(( 0 $(printf "+%s" $line) )); done < file