Bonjour,
Je souhaiterai effectuer un traitement sur des fichiers txt pour enlever une partie du texte (l'en-tête).
J'ai ce script perl qui devrait me renvoyer mes fichiers .abu en .txt après les avoir traités.
Cependant, il me renvoit l'erreur :
impossible d'ouvrir Francois.le.champi_ABU.abu
voici mon code perl :
#!/usr/bin/perl
use strict;
use locale;
if ( $#ARGV != 0 ){
die "Usage : ", $0, " REPERTOIRE\n";
}
##ouverture du repertoire en argument
opendir( REPERTOIRE, $ARGV[0] ) or
die "impossible d'ouvrir le répertoire ", $ARGV[0], "\n";
###on stocke les fichier .abu dans @fichiers
my @fichiers = grep( /\.abu$/, readdir(REPERTOIRE) );
closedir(REPERTOIRE);
##boucle pour remplacer les .Abu en .txt
for my $f (@fichiers){
my $r = $f ;
$r =~ s/^(.*)\.abu$/$1.txt/;
print STDERR $r, "\n";
# traitement du fichier pour enlever les entetes
open(ENTREE, "<" $f) or die "impossible d'ouvrir ", $f;
open(SORTIE, ">", $r) or die "impossible d'ouvrir ", $r;
my $dans_texte = 0;
while(my $ligne = <ENTREE>)
{
if($ligne =~ / FIN DU FICHIER /)
{
$dans_texte = 0;
}
if($dans_texte){
print SORTIE $ligne ;
}
if($ligne =~ / DEBUT DU FICHIER /){
$dans_texte = 1;
}
}
close(SORTIE);
close(ENTREE);
}
je precise que je suis sous mac os et que ma je tape le nom du fichier.pl et le repertoire en argument
merci
Configuration: Mac OS X