Pages : 1
#1 Le 17/04/2014, à 09:27
- jachtako
addition
Bonjour,
j'ai besoin d'aide,
voila dans un ficher monFichier.txt j'ai des caractères qui appairassent
36856
685
0
644
6
68
0
7
57
64
684
ma question est de savoir comment écrire un script Shell qu'il puisse additionner les caractères dans le fichier et me données la somme
merci.
Hors ligne
#2 Le 17/04/2014, à 09:47
- slasher-fun
Re : addition
Bonjour,
La fonction "Signaler" en bas de chaque message sert à attirer l'attention des modérateurs sur un message en particulier, au cas où celui-ci ne respecterait pas la Charte du Forum, ou en cas d'oubli de passsage en [résolu] de la part de l'auteur, sujet initié dans une section erronée, etc. Ne pas l'utiliser comme un 'Up', 'Urgent' ou demande expresse d'aide.
Hors ligne
#3 Le 17/04/2014, à 09:51
- pingouinux
Re : addition
Bonjour,
En bash
$ N=0;while read n;do printf " %6d\n" $n;((N+=n));done <monFichier.txt;printf "Total= %6d\n" $N
36856
685
0
644
6
68
0
7
57
64
684
Total= 39071
Hors ligne
#4 Le 17/04/2014, à 10:12
- credenhill
Re : addition
hello
$ (printf "%s+" $(cat fichier) ; echo 0) | bc
39071
Hors ligne
#5 Le 17/04/2014, à 10:24
- pingouinux
Re : addition
Toujours aussi concis, credenhill, et je préfère ta solution.
Hors ligne
#6 Le 17/04/2014, à 11:11
- credenhill
Re : addition
mais comment faire pour ajouter un 0\n en fin de ligne en un seul printf?
edit: et aussi
$ sed -e :a -e '$!N ;s/\n/+/; ta' fichier | bc
39071
$ awk '{tot+=$1} END {print tot}' fichier
39071
Dernière modification par credenhill (Le 17/04/2014, à 11:31)
Hors ligne
#7 Le 17/04/2014, à 12:30
- Watael
Re : addition
salut,
en bash
$ cat > Fichier.txt
36856
685
0
644
6
68
0
7
57
64
684
^D
$ ar=( $(< Fichier.txt ) )
$ ( IFS='+'; echo "Total= $(( ${ar[*]} ))" )
Total= 39071
Dernière modification par Watael (Le 17/04/2014, à 12:30)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 17/04/2014, à 13:53
- credenhill
Re : addition
n'oublions pas dc
$ sed '2,$s/$/+/; $s/$/\np/' fichier | dc
39071
Hors ligne
Pages : 1