perl supression derniere ligne fichier - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 01-02-2012 à 20:52:47
Salut,
- utilise STP les balises code pour le code
- place systematiquement en tete de script "use warnings; use strict;"
- revoit les handles de fichiers
Voici un script simple et testé :
Code :
|
Marsh Posté le 28-01-2012 à 08:54:06
Je souhaite decouper chaque ligne d'un fichier $ARGV[0] à une taille donnée $ARGV[1]
Cependant, il y a tjs une derniere ligne affichee alors qu'il ne faudrait pas
NEED HELP !!!!
#Nom du fichier passe en parametre 1
$fichier = $ARGV[0];
#Nom du fichier en sortie temporaire .tmp
$fichier_temporaire = $fichier.".tmp";
#Taille des enregistrements
$taille = $ARGV[1];
#Complement des enregistrements avec des blancs
$complement = " "x$taille;
#ouvre le fichier a traiter en entree
open(fichier,$fichier) or die "Can't open $fichier: $!";
#Ouvre en creation du fichier de sortie
open(fichier_maj,">$fichier_temporaire" ) or die "Can't open fichier sortie $fichier_temporaire : $!";
#Variable Compteur de Lignes
$ligne=0;
#Boucle sur toutes les lignes du Fichier
while (<fichier> )
{
$ligne++;
#Supprime les fins de chaine
chomp($_);
#Prend tous les enregistrements
$record = substr($_.$complement, 0, $taille);
printf fichier_maj $record."\n";
}
print "$d" $ARGV[0];
#Ferme les 2 fichiers
close (fichier_maj);
close (fichier);
#Supprime le fichier entree
unlink ($fichier);
#Renome le fichier en sortie vers le fichier en entree
rename $fichier_temporaire, $fichier;
#Affichage de fin de process
print "RecSize de <$ARGV[0]> a $taille\n";