[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



Patrick CAO HUU THIEN a écrit, mardi 25 novembre 2008, à 14:09 :
> Sylvain Sauvage a dit le 11/21/2008 04:56 PM:
[...]
>>   man paste, puis awk pour virer les colonnes superflues.
>
> merci je ne connaissais pas !!
>
> voici le résultat pour un nombre arbitraire de fichiers ^^
> #!/bin/bash
> i=3
> while f="$1";shift; do
>     FILES="$f $FILES"
>     AWKPARAMS="$AWKPARAMS,\$$i"
>     (( i += 3 ))
> done
>
> # add two first columns
> AWKPARAMS="\$1,\$2$AWKPARAMS"
>
> eval paste $FILES | awk "/^#/{next};/^$/{next};{print $AWKPARAMS}"
>
> si ca peux servir

Avec (GNU) Sed :

~ $ paste f1 f2 f3 | sed -re '/^[[:space:]]*(#|$)/d
s/[ \t]+/\n/3
s//\n/
s/([^ \t\n]+[ \t]+){2}([^ \t\n]+[ \t]*)/\2\n/g
s/[ \t\n]+/\t/g
'
5       100     25.3    58.36   8.47
5       1000    63.2    47.362  37.2

-- 
Jacques L'helgoualc'h


Reply to: