jeudi 24 mai 2012

bash, sommer une colonne....

Comment sommer des valeurs provenant d'un fichier ou de la sortie standard. Voici plusieurs solutions...


A la awk :
printf "1\n2\n3\n" | awk '{s+=$1} END {print s}'

A la tr :
printf "1\n2\n3\n"| tr '\n' '+' | sed -e 's/+$/\n/' | bc

A la paste :
printf "1\n2\n3\n" | paste -sd+ | bc

Moi je choisis la troisième solution. Elle est plus courte, simple et efficace !!

Aucun commentaire: