Patrick CAO HUU THIEN a écrit, vendredi 21 novembre 2008, à 16:44 :
> bonjour ,
> Ma question des quelque peu HS mais je sais que la liste est  
> suffisamment ouverte alors je me lance:

et c'est vendredi.

> j'ai plusieurs fichier de donnees du type
> 5 100 16.2
> 5 1000 25.64
> ....
>
> avec toujours la meme structure :
> les 2 premiers colonnes représentent des coordonnées et la dernière une 
> valeur
>
> avec ces fichiers je voudrais avoir un fichier résultat du genre
> (exemple avec 3 fichiers)
> 5 100 16.2 47.6 25.6
> 5 1000 25.64 65.69 65.3
>
> Je doit pouvoir faire cela avec bash/sed/awk/perl mais la je m'arrache 
> les cheveux

~ $ cat source
5 100 16.2
5 1000 25.64
4 80 18
5 200 42
5 100 3.14
5 1000 2.718
5 100 1.414
5 1000 6.666
4 80 33
~ $ awk '
  NF==3{v[$1" "$2]=v[$1" "$2]" "$3}
  END{for(p in v){print p"\t"v[p]}}
' <source
5 1000   25.64 2.718 6.666
4 80     18 33
5 100    16.2 3.14 1.414
5 200    42

> merci d'avance

de rien,
-- 
Jacques L'helgoualc'h

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à