[SHELL] Somme sur lignes différentes avec awk

Somme sur lignes différentes avec awk [SHELL] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 11-02-2010 à 17:50:22    

Hello !
voilà, j'ai plusieurs lignes, par exemple :  
 
 
cat XXX | sort  
orange 1
orange 4
orange 2
banane 3
banane 1
tomate 6
tomate 6
tomate 8
kiwi 12
 
, et j'aimerais avoir
 
cat XXX | [ COMMANDE]
orange 7
banane 2
tomate 20
kiwi 12
 
 
et ce, sans faire de multipes boucle "for legume in, do cat xxx `| awk ''{ s+= $1 } END { print s }''' par exemple
 
merci de votre aide !


Message édité par belette59 le 11-02-2010 à 17:50:39

---------------

Reply

Marsh Posté le 11-02-2010 à 17:50:22   

Reply

Marsh Posté le 11-02-2010 à 20:49:43    

awk '{array[$1]+=$2}END{for (name in array) {print name, array[name]}}' <FICHIER>

Reply

Marsh Posté le 12-02-2010 à 10:30:30    

Merci ! c'est exactement ce que je cherchais :)

Reply

Marsh Posté le 12-02-2010 à 11:45:52    

u're welKome

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed