>awk 'BEGIN {c=0} {c=c+$0} END {printf("%.0f\n", c)}' total.bytes Если точности плавающих - хватает, то да, так быстрее:
$ cat ./x5
#!/bin/bash
n=10
for((i=1;i<8;i++)); do
yes | head -$n |sed 's!y!18446744073799!' | (\
/usr/bin/time gawk 'BEGIN {c=0} {c=c+$0} END {printf("%.0f\n", c)}' |\
tr -d "\n"
#|wc -c
) 2>&1 |tr "\n" " "|awk '{print '"$((${#n}-1))"'" "$NF" "$1" "$3" "$4;exit}'
n="${n}0"
done
$ ./x5
1 184467440737990 0.00user 0:00.00elapsed 0%CPU
2 1844674407379900 0.00user 0:00.00elapsed 0%CPU
3 18446744073799512 0.00user 0:00.00elapsed 0%CPU
4 184467440737950784 0.00user 0:00.02elapsed 60%CPU
5 1844674407378830848 0.10user 0:00.22elapsed 47%CPU
6 18446744074118029312 0.94user 0:02.66elapsed 36%CPU
7 184467440723846004736 9.78user 0:24.68elapsed 40%CPU
# _
То же самое с s/gawk/mawk/:
$ ./x5
1 184467440737990 0.00user 0:00.00elapsed 0%CPU
2 1844674407379900 0.00user 0:00.00elapsed 133%CPU
3 18446744073799512 0.00user 0:00.00elapsed 0%CPU
4 184467440737950784 0.00user 0:00.01elapsed 26%CPU
5 1844674407378830848 0.06user 0:00.17elapsed 38%CPU
6 18446744074118029312 0.51user 0:01.71elapsed 31%CPU
7 184467440723846004736 5.28user 0:19.83elapsed 27%CPU