• # Alors...

    Posté par . En réponse au message parser un fichier texte. Évalué à 2.

    Je ne sai spas si j'ai bien pigé. Vérifie mais j'ai peut être un bout de Perl qui pourrait te faire l'affaire.

    Fichier source:

    omnikron@calimero:~$ cat source
    sit1, gene1, cancerX
    sit1, gene2, cancerY
    sit1, gene3, cancerY
    sit1, gene4, cancerY
    sit1, gene5, cancerY
    sit2, gene1, cancerX
    sit2, gene2, cancerZ
    sit2, gene3, cancerZ
    sit3, gene1, cancerY


    Script en Perl:

    #!/usr/bin/perl

    my @source = `cat $ARGV[0]`;
    my %out;

    foreach $s (@source) {
        chomp($s);

        if($s =~ /^(.+),\s+(.+),\s+(.+)$/) {

            push(@{$out{3ドル}{1ドル}}, 2ドル);
        }
    }

    while (($cancer, $hsite) = each(%out)) {


        while (($site, $gens) = each(%$hsite)) {
            print($site.",".join(",", @$gens).",".$cancer."\n");
        }
    }


    Appel du script + sort + résultat:

    omnikron@calimero:~$ ./parse.pl source |sort
    sit1,gene1,cancerX
    sit1,gene2,gene3,gene4,gene5,cancerY
    sit2,gene1,cancerX
    sit2,gene2,gene3,cancerZ
    sit3,gene1,cancerY