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: