[PERL] supprimer commentaire
Résolu/Fermé
wafa_o
Messages postés
109
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
4 janvier 2011
-
29 juil. 2008 à 08:54
wafa_o Messages postés 109 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 4 janvier 2011 - 31 juil. 2008 à 10:30
wafa_o Messages postés 109 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 4 janvier 2011 - 31 juil. 2008 à 10:30
A voir également:
- [PERL] supprimer commentaire
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Supprimer commentaire word - Guide
- Impossible de supprimer un fichier - Guide
- Supprimer edge - Guide
14 réponses
wafa_o
Messages postés
109
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
4 janvier 2011
2
29 juil. 2008 à 16:25
29 juil. 2008 à 16:25
Je pense avoir trouvé.
open(D ,$file ) or die "ERREUR ! \n"; while (my $line = <D> ) {
if ($line !~ /^#/) {
push @tableau , $line
}
}
close(D) ;
open(D ,$file ) or die "ERREUR ! \n"; while (my $line = <D> ) {
if ($line !~ /^#/) {
push @tableau , $line
}
}
close(D) ;
wafa_o
Messages postés
109
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
4 janvier 2011
2
29 juil. 2008 à 15:31
29 juil. 2008 à 15:31
Une idée?
wafa_o
Messages postés
109
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
4 janvier 2011
2
29 juil. 2008 à 15:46
29 juil. 2008 à 15:46
j'ai un fichier. Je place chaque ligne de mon fichier dans un tableau. Je souhaite supprimer toutes les lignes commencant par #. Ou placer toutes les lignes de mon fichier autre que des commentaires dans mon tableau.
Est ce que c'est plus claire theMan ?
Est ce que c'est plus claire theMan ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
substr(exemple,0,1), vous obtenez comme résultat "e". Extraire un caractère à partir de la position 0
Pour chaque ligne lu dans ton fichier
Lire le premier caractère avec substr(ligne,0,1)
si ce caractère égal è #
palcer la ligne dans le tableau
Lire ligne suivante.
Mezaine!
Pour chaque ligne lu dans ton fichier
Lire le premier caractère avec substr(ligne,0,1)
si ce caractère égal è #
palcer la ligne dans le tableau
Lire ligne suivante.
Mezaine!
davlar
Messages postés
75
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
11 mai 2009
57
29 juil. 2008 à 16:01
29 juil. 2008 à 16:01
ouvre ton fichier et met-le dans un tableau (faire un open et l'affecté à une variable du genre @fichier)
et ensuite fait un foreach et (selon si tu l'as ouvert en rw ou en r) supprime les lignes que tu veux ou bien compose un nouveau fichier avec les lignes de ta condition.
A+
Dave
et ensuite fait un foreach et (selon si tu l'as ouvert en rw ou en r) supprime les lignes que tu veux ou bien compose un nouveau fichier avec les lignes de ta condition.
A+
Dave
wafa_o
Messages postés
109
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
4 janvier 2011
2
29 juil. 2008 à 16:04
29 juil. 2008 à 16:04
C'est ce que j'ai fait davlar. Je vais essayer le foreach ...
wafa_o
Messages postés
109
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
4 janvier 2011
2
29 juil. 2008 à 16:02
29 juil. 2008 à 16:02
Merci mais ce n'est pas du tout ce que je souhaite avoir en sortie. Enfin je comprends pas trop ce que tu fais.
iwa meziane
wafa_o
Messages postés
109
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
4 janvier 2011
2
29 juil. 2008 à 16:34
29 juil. 2008 à 16:34
hamdoulilah compatriote
davlar
Messages postés
75
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
11 mai 2009
57
29 juil. 2008 à 16:45
29 juil. 2008 à 16:45
Tu veux faire qqe chose du genre ?
main();
sub rtrim($) # Right trim function to remove trailing whitespace
{
my $string = shift;
$string =~ s/\#.*?$//g;
return $string;
}
sub main()
{
open (FILE,"fichier_avec_commentaire.txt");
@z_fichier = <FILE>;
foreach $ligne (@z_fichier) # on boucle sur chaque ligne du tableau jusqu'au EOF
{
$resultat = rtrim($ligne);
print "pas de commentaire: $resultat\n";
}
close (FILE);
}
main();
sub rtrim($) # Right trim function to remove trailing whitespace
{
my $string = shift;
$string =~ s/\#.*?$//g;
return $string;
}
sub main()
{
open (FILE,"fichier_avec_commentaire.txt");
@z_fichier = <FILE>;
foreach $ligne (@z_fichier) # on boucle sur chaque ligne du tableau jusqu'au EOF
{
$resultat = rtrim($ligne);
print "pas de commentaire: $resultat\n";
}
close (FILE);
}
wafa_o
Messages postés
109
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
4 janvier 2011
2
29 juil. 2008 à 16:50
29 juil. 2008 à 16:50
Merci Davlar, j'ai trouvé ce que je voulais avoir en sortie.
J'ai ecris le bout de code au dessus.
En tout cas merci pour ton aide.
J'ai ecris le bout de code au dessus.
En tout cas merci pour ton aide.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
29 juil. 2008 à 18:17
29 juil. 2008 à 18:17
Salut,
tu parles de celui ci
tu peux faire comme ça ;-)
tu parles de celui ci
tu peux faire comme ça ;-)
lami20j@debian:~/trash$ cat fichier.txt # ligne 1 ligne 2 # ligne 3 #ligne 4 ligne 5 lami20j@debian:~/trash$ cat ccm.pl #!/usr/bin/perl # use warnings;use strict; my $file="fichier.txt"; open D ,$file or die "E/S : $! \n"; my @tableau = grep { ! /^#/ } <D>; print for @tableau; close D ; __END__ lami20j@debian:~/trash$ perl ccm.pl ligne 2 ligne 5 lami20j@debian:~/trash$Il y a plusieurs façons de le faire en Perl, à toi de choisir celle qui te conviens le plus ;-)
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
29 juil. 2008 à 18:21
29 juil. 2008 à 18:21
Re,
voici une version plus compacte ;-) (pour Linux)
voici une version plus compacte ;-) (pour Linux)
lami20j@debian:~/trash$ cat ccm.pl #!/usr/bin/perl # use warnings;use strict; my @tableau = grep { ! /^#/ } `cat fichier.txt`; print for @tableau; __END__
wafa_o
Messages postés
109
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
4 janvier 2011
2
31 juil. 2008 à 10:30
31 juil. 2008 à 10:30
Thanks !