extrait de script :
-----------------------------------------------------------------
...
open (FILE,"<",$fileName)or die ("...");
@allLines=<FILE>;
close (FILE);
open (FILE,">",$fileName) or die ("...");
foreach $thisLine(@allLines) {
if ($thisLine =~ /vmxnet/) {
print FILE "$thisLine";
print FILE "alias eth1 vmxnet\n";
print FILE "alias eth2 vmxnet\n";
print FILE "alias eth3 vmxnet\n";
}
else {
print FILE "$thisLine";
}
}
close (FILE);
...
-----------------------------------------------------------------
je lis donc tout le fichier puis je l'écrase et j'y écrit mes lignes
et,
lorsque j'ai identifié le bon endroit, j'insère de nouvelles lignes.
ça marche très bien. mais y-a-t-il un moyen plus simple ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Gaborit
À (at) Fri, 24 Mar 2006 14:04:34 +0100, "kurtz_le_pirate" écrivait (wrote):
je lis donc tout le fichier puis je l'écrase et j'y écrit mes lignes et, lorsque j'ai identifié le bon endroit, j'insère de nouvelles lignes.
ça marche très bien. mais y-a-t-il un moyen plus simple ?
Lire le fichier original et le recopier au fur et à mesure dans un fichier temporaire (en y insérant les éventuelles nouvelles lignes) puis renommer le fichier temporaire pour qu'il remplace le fichier original.
Ça remplace le besoin de stockage en mémoire par un besoin de stockage sur disque (c'est plus sûr si le fichier est gros) sans ajouter d'opérations supplémentaires (autant de lectures/écritures qu'avant).
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) Fri, 24 Mar 2006 14:04:34 +0100,
"kurtz_le_pirate" <kurtzlepirate@yahoo.fr> écrivait (wrote):
je lis donc tout le fichier puis je l'écrase et j'y écrit mes lignes
et, lorsque j'ai identifié le bon endroit, j'insère de nouvelles
lignes.
ça marche très bien. mais y-a-t-il un moyen plus simple ?
Lire le fichier original et le recopier au fur et à mesure dans un
fichier temporaire (en y insérant les éventuelles nouvelles lignes)
puis renommer le fichier temporaire pour qu'il remplace le fichier
original.
Ça remplace le besoin de stockage en mémoire par un besoin de stockage
sur disque (c'est plus sûr si le fichier est gros) sans ajouter
d'opérations supplémentaires (autant de lectures/écritures qu'avant).
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) Fri, 24 Mar 2006 14:04:34 +0100, "kurtz_le_pirate" écrivait (wrote):
je lis donc tout le fichier puis je l'écrase et j'y écrit mes lignes et, lorsque j'ai identifié le bon endroit, j'insère de nouvelles lignes.
ça marche très bien. mais y-a-t-il un moyen plus simple ?
Lire le fichier original et le recopier au fur et à mesure dans un fichier temporaire (en y insérant les éventuelles nouvelles lignes) puis renommer le fichier temporaire pour qu'il remplace le fichier original.
Ça remplace le besoin de stockage en mémoire par un besoin de stockage sur disque (c'est plus sûr si le fichier est gros) sans ajouter d'opérations supplémentaires (autant de lectures/écritures qu'avant).
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>