Re: [HS] joindre plusieurs fichier de donnees en un seul

2008-11-25 Par sujet Jacques L'helgoualc'h
Patrick CAO HUU THIEN a écrit, mardi 25 novembre 2008, à 13:26 :
> Jacques L'helgoualc'h a dit le 11/21/2008 05:11 PM:
> merci jacques mais ce n'est pas tout a fait ca que je recherche. J'ai du 
> mal m'expliquer.
>
> J'ai plusieurs fichiers avec tous
> - f1 -
> 5 100 25.3
> 5 1000 63.2
>
> - f2 ---
> 5 100 58.36
> 5 1000 47.362
>
> et je voudrais ceci:
>
> 5 100 25.3 58.36
> 5 1000 63.2 47.362
>
> je pense que la piste de sylvain «paste» me semble plus prometteuse.

Avec paste, si tu  es sûr de l'ordre, tu ne fais  que mettre côte à côte
les différents fichiers, et il faut une autre étape avec awk ou cut pour
éliminer les colonnes redondantes modulo 3.

Tu peux aussi filtrer avant, quand le nombre de fichiers est connu :

~ $ paste -d' ' f1 <(cut -d' ' -f3 f2)
5 100 25.3 58.36
5 1000 63.2 47.362


Le hachage Awk  --- transposable en Perl ou autre ---  que je te propose
est assez simple, plus souple quant  au format et au nombre de données à
regrouper, et moins exigeant sur l'ordre des lignes (mais ne le respecte
pas en l'état (si tu y  tiens, c'est facile en comptant les lignes (non,
je ne propose pas une solution (e)lisp :))).

 awk '[script]' f1 f3 ... fn > r1

où certains fk peuvent déjà être des récapitulations partielles.
-- 
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]



Re: [HS] joindre plusieurs fichier de donnees en un seul

2008-11-25 Par sujet Patrick CAO HUU THIEN

Jacques L'helgoualc'h a dit le 11/21/2008 05:11 PM:
merci jacques mais ce n'est pas tout a fait ca que je recherche. 
J'ai du mal m'expliquer.


J'ai plusieurs fichiers avec tous
- f1 -
5 100 25.3
5 1000 63.2


- f2 ---
5 100 58.36
5 1000 47.362
---

et je voudrais ceci:

-- resu --
5 100 25.3 58.36
5 1000 63.2 47.362
---

je pense que la piste de sylvain «paste» me semble plus prometteuse.

--
patrick

--
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]



Re: [HS] joindre plusieurs fichier de donnees en un seul

2008-11-21 Par sujet Jacques L'helgoualc'h
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]}}
'  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]



Re: [HS] joindre plusieurs fichier de donnees en un seul

2008-11-21 Par sujet Sylvain Sauvage
Patrick CAO HUU THIEN, vendredi 21 novembre 2008, 16:44:13 CET
> 
> bonjour ,

’jour,

>[…]
> avec ces fichiers je voudrais avoir un fichier résultat du
> genre (exemple avec 3 fichiers)
> --resu
> 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

  man paste, puis awk pour virer les colonnes superflues.

-- 
 Sylvain Sauvage

--
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]



[HS] joindre plusieurs fichier de donnees en un seul

2008-11-21 Par sujet Patrick CAO HUU THIEN

bonjour ,
Ma question des quelque peu HS mais je sais que la liste est 
suffisamment ouverte alors je me lance:


j'ai plusieurs fichier de donnees du type
--f1---
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)
--resu
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


merci d'avance

--
Patrick CAO HUU THIEN  Institut Jean-Le-Rond d'Alembert
Équipe informatiqueUniversité Pierre et Marie CURIE
   case 161
tel: 01 44 27 87 014, place Jussieu
fax: 01 44 27 51 44 (ou 88 78) 75252 Paris Cedex 05
email: [EMAIL PROTECTED]
gpg key ID: 1024D/58D16D27 sur pgp.mit.edu
fingerprint: D7B8 7DFB 479C A02E 48A2  383C 0005 4A33 58D1 6D27


--
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]