diff --git a/Niveau-1/TXM/Metadata1.pl b/Niveau-1/TXM/Metadata1.pl new file mode 100644 index 0000000..9d699b0 --- /dev/null +++ b/Niveau-1/TXM/Metadata1.pl @@ -0,0 +1,47 @@ +#!/usr/bin/perl +use strict; +use warnings; +use utf8; +use open qw/:std :utf8/; + +use Getopt::Long; + +my ($programme) = $0 =~ m|^(?:.*/)?(.+)|; + +#ouverture du fichier des métadonnées version 1 +open(METADATA_V1, "<:encoding(UTF-8)", "Arthropodes_metadata_v1.txt") +or die "Couldn't open file Arthropodes_metadata_v1.txt, $!"; +#ouverture du fichier des métadonnées version 2 +open(METADATA_V2, ">:encoding(UTF-8)", "Arthropodes_metadata_v2.txt") +or die "Couldn't open file Arthropodes_metadata_v2.txt, $!"; +#définition des catégories des métadonnéés version 2 +print METADATA_V2 "\"id\",\"corpus\",\"journal\",\"annee\"\n"; +#parcours des métadonnées version 1, sélectionner les informations utiles à entrer dans version2 +my $id; +while(my $ligne = ){ + chomp($ligne); + #si la ligne commence par "NO :", on extrait les informations le suivantes. + if ($ligne =~ /^NO : .*\(corpus ([A-Z].*?)\)/){ + $id++; + print METADATA_V2 sprintf("\"Arthropodes_%04d\",",$id);#numéroter les ids par 0001,0002... + print METADATA_V2 "\"$1\","; + } + elsif ($ligne =~ /^SO : (.*?) ; .*? ; ([0-9]{4})/){ + print METADATA_V2 "\"$1\","; + print METADATA_V2 "\"$2\"\n"; + } + } +close (METADATA_V1); +close (METADATA_V2); + +exit 0; + +sub usage +{ +my $code = shift; + +print "Usage : $programme -i input [ -o output ]\n"; + +exit $code; +} +