Сумма значений со стандартного ввода, или из файла.
➡️ Datamash
seq 1000 | datamash sum 1
datamash sum 1 < <(seq 1000)
➡️ Awk
seq 1000 | awk '{sum += $1}END{print sum}'
awk '{sum += $1}END{print sum}' <(seq 1000)➡️ Dc
seq 1000 | dc -e '0d[?+2z>a]salaxp'
dc -e '0d[?+2z>a]salaxp' < <(seq 1000)
Последнее решение самое занимательное. И самое небезопасное, потому что данные управляют программой.
Вообще во всех трёх случаях очень желательно очищать входные данные.
Почитать:
man datamash
man seq
man awk
man dc
Да будет так!
tags: #bash
—
🔔 @bashdays