Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3300 connectés 

 


Dernière réponse
Sujet : Calcul en colonne
masterlolo

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) }


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
masterlolo

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) }

masterlolo 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.
boisse 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.
black_lord let
expr
masterlolo 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 ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)