Retourner au contenu associé (entrée de forum : parser un fichier texte)
Posté par omnikron le 18 février 2008 à 21:13. En réponse au message parser un fichier texte. Évalué à 2.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# Alors...
Posté par omnikron . En réponse au message parser un fichier texte. Évalué à 2.
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