Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1195 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  perl supression derniere ligne fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

perl supression derniere ligne fichier

n°1302728
YoMan07
Posté le 28-01-2012 à 08:54:06  profilanswer
 

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";

mood
Publicité
Posté le 28-01-2012 à 08:54:06  profilanswer
 

n°1303266
sputnick
bip...bip...bip...bip...bi...b
Posté le 01-02-2012 à 20:52:47  profilanswer
 

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 :
  1. #!/usr/bin/env perl
  2. # vim:ts=4:sw=4
  3. use strict;
  4. use warnings;
  5. my $file = $ARGV[0];
  6. open my $hand, '<', $file or die "$0: $file: $!\n";
  7. my @array = <$hand>;
  8. for (my $i=0; $i<$ARGV[1]; $i++) {
  9.     print $array[$i];
  10. }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  perl supression derniere ligne fichier

 

Sujets relatifs
Rendre un fichier audio infalsifiable ... sous LinuxOpenoffice calc et fichier .csv
Corruption de fichier .PHP?modifier fichier dans archive cpio
[RESOLU] Perl, ssh et crontraitement de fichier avec AWK
Logiciel de BOOT automatisable par fichier Batchutiliser un fichier MDB(acces) sous android 3.1
[RESOLU] Module Perl Levenshtein introuvable ?Trouver les lignes ds un fichier dont un champs est ds un autre
Plus de sujets relatifs à : perl supression derniere ligne fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR