J'ai un fichier qui ressemble à ceci :
1
3
4
1
4
3
1
2
Comment puis-je trouver le total (c'est-à-dire 1+3+4+1+4+3+1+2 = 19) ?
J'ai un fichier qui ressemble à ceci :
1
3
4
1
4
3
1
2
Comment puis-je trouver le total (c'est-à-dire 1+3+4+1+4+3+1+2 = 19) ?
Une approche simple consiste à utiliser une fonction intégrée de votre Shell :
SUM=0; while read N; do SUM=$((SUM+N)); done </path/to/file
echo $SUM
Ce programme lit votre fichier dans le sens des lignes, fait la somme et imprime le résultat.
Si vous souhaitez utiliser un tuyau et n'utiliser que la première ligne, voici comment procéder :
SUM=0
your_command | while read -r LINE; do for N in $LINE; do break; done; SUM=$((SUM+N)); done
echo $SUM
L'obtention du premier élément se fait de la manière suivante :
LIST="foo bar baz"
for OBJ in $LIST; do break; done
echo $OBJ
foo
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.