Calcul en colonne - Linux et OS Alternatifs
Marsh Posté le 09-02-2005 à 20:16:35
let
expr
Marsh Posté le 10-02-2005 à 00:33:24
bah a premiere vue tu met ca dans un fichier,
tu fait un truc du genre
cat fichier | awk '(print $1)' > toto1
la meme chose avec toutes les colonnes
puis
for i in `cat toto1`
do
i = expr i + i
done
echo "la somme de la colonne est $i"
pareil avec les atres fichiers
bon la boucle for est fausse j'ai la flemme de reflechir ais l'idee est la.
Marsh Posté le 10-02-2005 à 09:34:01
Exact pour la boucle for, j'y avais pensé mais je trouvais ça un peu lourd comme écriture. J'aurais pensé que awk pouvais le faire.
Merci quand meme de votre aide.
Marsh Posté le 10-02-2005 à 10:16:50
masterlolo a écrit : J'aurais pensé que awk pouvais le faire. |
La nuit porte conseil :
Voila le script avec awk pour calculer :
#!/bin/sh
grep "REPORT-LOG" /var/log/temporaire | awk '{print $13 $15 $17 $19 $21 $23} | sed 's/,/ /g' | awk 'BEGIN { FS=" " }
{ A+=$1; B+=$2; C+=$3; D+=$4; E+=$5; F+=$6; }
END { printf ("%d %d %d %d %d %d\n",A,B,C,D,E,F) }
Marsh Posté le 09-02-2005 à 20:11:44
Bonsoir à tous,
Je voudrai extraire d'un fichier de log des données pour les additionner mais par colonne, un peu comme si je faisais une addition sous excel.
Voici la commande que j'utilise et le résultat obtenu :
#grep "REPORT-LOG" /var/log/temporaire | awk '{print $13 $15 $17 $19 $21 $23} | sed 's/,/ /g'
59 59 121 121 0 7
54 54 88 88 0 7
53 53 110 110 0 6
58 58 103 103 0 6
52 52 80 80 0 6
67 67 113 113 0 6
71 71 87 87 0 7
73 73 112 112 0 8
56 56 115 115 0 6
51 51 112 109 3 7
Y a t'il une commande spécifique qui pourrait me le faire ?