Newer
Older
explore-corpus / Niveau-1 / TXM / Metadata1.pl
@Pan Pan Hu Pan Pan Hu on 11 Aug 2017 1 KB 6commits
#!/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 = <METADATA_V1>){
	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;
}