diff --git a/outils/ligature/README.md b/outils/ligature/README.md index bc0e71b..fc2fd54 100644 --- a/outils/ligature/README.md +++ b/outils/ligature/README.md @@ -9,11 +9,34 @@ ``` Ligature Équivalent Code hexadécimal - ff ff FB00 - fi fi FB01 - fl fl FB02 - ffi ffi FB03 - ffl ffl FB04 + ff ff FB00 + fi fi FB01 + fl fl FB02 + ffi ffi FB03 + ffl ffl FB04 ``` +### Usage +``` + ligature.pl -r répertoire [ -e extension ]* [ -q ] + ligature.pl -f fichier [ -q ] + ligature.pl -h +``` + +### Options +``` + -e indique la ou les extensions des fichiers à traiter dans le répertoire indiqué par l’option “-r”. Dans le cas où on a plusieurs extensions, on peut répéter l’option ou donner la liste des extensions séparées par des virgules. + -f indique le fichier à traiter. + -h affiche l’aide. + -q supprime les messages donnant le nombre de modifications réalisées pour chaque fichier. + -r indique le répertoire où se trouvent les fichiers à traiter. + +``` + +### Exemple +``` + ligature.pl -r Corpus/Polaris -e txt -e ocr -q + ligature.pl -r Corpus/Polaris -e txt,ocr -q + ligature.pl -f Corpus/Polaris/ancien_0425.txt +``` diff --git a/outils/ligature/ligature.pl b/outils/ligature/ligature.pl index d9845da..f717585 100755 --- a/outils/ligature/ligature.pl +++ b/outils/ligature/ligature.pl @@ -41,7 +41,7 @@ my @fichiers = (); opendir(DIR, $repertoire) or die "$!,"; if ( @extensions ) { - my $extensions = "(" . join("|", map {s/^\.//o; $_;} @extensions) . ")"; + my $extensions = "(" . join("|", map {s/^\.//o; s/(\W)/\\$1/go; $_;} @extensions) . ")"; @fichiers = grep(/\.$extensions\z/, grep(!/^\./o, readdir(DIR))); } else { @@ -84,7 +84,7 @@ } else { ($nom) = $input =~ m|^(?:.*/)?(.+)|; - open(INP, "<:utf8", $input) or die "$input : $!,"; + open(INP, "<:utf8", $input) or die "Impossible d’ouvrir $input en lecture : $!,"; } print STDERR " - $nom : " if not $quiet; @@ -103,7 +103,7 @@ close INP; if ( $input ne '-' and $nbModifs ) { - open(OUT, ">:utf8", $input) or die "$input : $!,"; + open(OUT, ">:utf8", $input) or die "Impossible d’ouvrir $input en écriture : $!,"; print OUT @lignes; }