Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum PC » Problèmes Linux » Parseur (7 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
Invité Ecrit le: Vendredi 13 août 2004 à 14:24 Déconnecté(e)    
 
Bon, alors voilà. Je voulais faire un parseur de fichiers PHP en C, puis ayant la flemme, j'ai voulu le faire en CPP, plus simple.
Finalement, le plus simple et le plus rapide c'est de faire un script shell qui va me parser mon code.
J'ai donc commencé un script. Je veux qu'il m'ouvre un fichier donné et qu'il remplace des chaînes données par d'autres.
Pour commencer j'ai fait un test :
#!/bin/sh
cat index.php > file.txt
vi file.txt :%s/"<?php"/"<?"/

Qui permet de remplacer le "<?php" par "<?" normalement (nouvelle norme PHP5.0).
Je le lance, et bizarrement, mon code s'affiche à l'écran, et le fichier file.txt n'est pas modifié, ni le code de base.

Alors voilà ma question, certes très recherchée : pourquoi ?
    
./Post n°1   Marquer comme non lu.
Invité Ecrit le: Vendredi 13 août 2004 à 14:26 Déconnecté(e)    
 
Et deuxième question encore plus subtile : comment puis-je faire un 'parseur' ou au moins un début à l'aide d'un script shell ?
    
./Post n°2   Marquer comme non lu.
Kevin Kofler Ecrit le: Vendredi 13 août 2004 à 14:29 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Mon avis personnel: un script shell n'est vraiment pas le bon outil pour cela, et vi est plus dur à maîtriser que le C. :) Je pense qu'il te manque le :wq pour enregistrer tes changements, mais je ne suis pas sûr.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°3   Marquer comme non lu.
Invité Ecrit le: Vendredi 13 août 2004 à 14:49 Déconnecté(e)    
 
Non ça ne change rien... En quel langage est-ce que je pourrais faire ça ? (Pour aller vite, et facilement parce qu'un projet comme ça n'est pas très important).
    
./Post n°4   Marquer comme non lu.
Kevin Kofler Ecrit le: Vendredi 13 août 2004 à 20:16 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


C :)
Sinon, il y a aussi le Perl.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°5   Marquer comme non lu.
Invité Ecrit le: Samedi 14 août 2004 à 09:36 Déconnecté(e)    
 
Ah oui, en Perl, je vais déjà faire un petit test voir ce que ça donne.
Par contre j'ai trouvé comment aller plus vite, au lieu d'utiliser vi, j'utilise la commande tr.
    
./Post n°6   Marquer comme non lu.
Invité Ecrit le: Lundi 16 août 2004 à 19:39 Déconnecté(e)    
 
Bon, après avoir découvert sed j'ai repris l'idée du script shell. (Oui, je suis en train de lire un bouquin sur Linux)
Mais voilà un problème, j'arrive à faire ce que je veux avec sed. Sauf une chose que je ne comprends pas.
Dans mes fichiers PHP, je veux qu'il m'enlève les lignes vides. Les lignes vides c'est la présence de \n\n dans le code. Pour avoir ça je remplace déjà tous les \r par des \n, puis j'utilise sed comme ça : sed 's/\n\n/\n/g' file.php > file2.php.Problème, ça ne m'enlève pas mes doubles retours à la ligne.
Pourquoi ?
    
./Post n°7   Marquer comme non lu.
Invité Ecrit le: Lundi 16 août 2004 à 19:40 Déconnecté(e)    
 
Petite info, j'ai même essayé sed 's/\\n\\n/\\n/g' file.php > file2.php pour qu'il garde les antislashs, mais toujours rien.
-Edité le Lundi 16 août 2004 à 19:40 par AS-
    
  :: Index » Forum PC » Problèmes Linux » Parseur (7 réponse(s))
Pages : 1/1     « [1] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 39ms avec 24 requetes