IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Diff sur fichier PHP


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Par défaut Diff sur fichier PHP
    Bonjour tout le monde,

    Je dois réaliser un script en Java servant à comparer deux fichiers Php.
    Le but est de comparer les différences entre deux fichiers ayant le même nom (par exemple lors de nouvelles releases).

    J'ai fais quelques recherches, mais je ne trouve pas de script Java permettant de faire cela.
    Quelqu'un aurait-il des sources à me donner, ou des idées pour débuter un script à 0 ?

    Merci de votre aide,

    Fabien

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Tu es sur que c'est un script en java?

    je connais les programmes java et les scripts javascript... mais pas les scripts java

    ps: je connais aussi le programme diff, pourquoi réinventer la roue.
    Il y a aussi le plugin compare de notepad++, qui est très pratique

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Par défaut
    Oui oui, désolé, je dois écrire un programme java capable de faire la différence entre deux fichiers Php.
    Avec le numéro de ligne, et le pourcentage de ressemblance/différence.

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Soit tu travailles dur, soit tu utilises la magie de diff, avec les bons arguments, en te contentant de parser le résultat.
    Voire même, tu utilise java-diff-utils (google sera ton ami)

    Si c'est un exercice que tu dois faire, explique-nous ce que tu as déjà fait ou tenté.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Par défaut
    Excusez moi pour le temps de réponse,

    En fait, je me suis mieux entendu avec ma tutrice de stage, et je vais utiliser la commande Linux "diff" pour faire la différence entre les deux fichiers.
    Il faut que je compte également le nombre de différences. Pour ça, j'ai pu m'apercevoir qu'il y avait des "." à la fin de chaque différence, du coup, je fais un grep sur ceux-ci, et je compte le nombre de lignes.

    Commande : diff -e -B FileOne FileTwo | grep ^[.] | wc -l > file3

    Il faut maintenant que je trouve comment faire le pourcentage de changement,
    je pense qu'on peut savoir le nombre de lignes d'un fichier texte, du coup, je pense faire : (NbreChangements/NbreLignes)*100

    Vous en pensez quoi?

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Citation Envoyé par Fabiendst Voir le message
    ...
    Il faut maintenant que je trouve comment faire le pourcentage de changement,
    je pense qu'on peut savoir le nombre de lignes d'un fichier texte, du coup, je pense faire : (NbreChangements/NbreLignes)*100

    Vous en pensez quoi?
    J'en pense :

    • Que c'est probablement la seule solution (à coup de wc -l, et de expr peut être bien...) ;
    • Que ta question n'a plus grand chose à voir avec java. Peut être devrait-on la déplacer vers un forum plus adéquat ? Qu'en penses-tu ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour,

    Citation Envoyé par Fabiendst Voir le message
    Vous en pensez quoi?
    Je pense que chaque ligne devrait se terminer par un point virgule avant de comparer car si non, ta comparaison sera caduque.
    Pour se faire, j'utiliserais sed. Et je supprimerais les tabulations et espaces superflus.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    System.out.println(
    "Hello la compagnie"
    );
    est identique à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("Hello la compagnie");

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par Fabiendst Voir le message
    Oui oui, désolé, je dois écrire un programme java capable de faire la différence entre deux fichiers Php.
    Avec le numéro de ligne, et le pourcentage de ressemblance/différence.
    Comment est spécifié le pourcentage de ressemblance/différence?????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $ cat plop1
    aaaa
    bbbbbbbbbbbbbbbb
    cccccccccccccccc
    dddddddddddddddd
    eeee
    ffffffffffffffffffff
    gggggggggggggggg
    hhhh
     
    $ cat plop2
    aaaa
    CCCC
    eeee
    GGGG
    Le 1er fichier a 8 lignes, le 2nd a 4 lignes. Ils ont 2 lignes en commun. Pour le 1er, le pourcentage de lignes communes est donc 2/8 soit 1/4. Pour le 2nd, le pourcentage de lignes communes est 2/4 soit 1/2.
    Donc leur "ressemblance" est 1/4 ou 1/2?

    De plus, si on compte les caractères en commun et non plus les lignes, le résultat est encore différent.

    En outre, remarquons que le résultat du diff correspond toujours à une structure du genre: répétition de {{bloc de lignes identiques} {bloc de lignes différentes}} (avec la possibilité (que nous négligerons dans la suite) qu'il manque le {bloc de lignes identiques} initial ou le {bloc de lignes différentes} final).

    En conséquence, le nombre de {bloc de lignes identiques} est toujours égal au nombre de {bloc de lignes différentes} (à +1 ou -1 près).
    Donc, nb de {blocs de lignes différentes} / nb total de blocs = 1/2

    Donc, si on ne prend en considération que le nombre de blocs différents (comme le propose la méthode suggérée de comptage de '^[.]$'), le "pourcentage de différence" est toujours 1/2, (ce qui simplifie considérablement le programme!).

    De l'importance des spécifications précises... (surtout pour un chipoteur...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [UI] [autocomplete] Requête sur fichier PHP to JSON
    Par Aoernis dans le forum jQuery
    Réponses: 3
    Dernier message: 07/06/2013, 22h03
  2. [FTP] fgets sur un fichier php donne du html
    Par Ralfman68 dans le forum Langage
    Réponses: 14
    Dernier message: 22/02/2007, 10h59
  3. [FTP] Gestion fichier PHP sur serveur FTP
    Par cdrik59 dans le forum Langage
    Réponses: 1
    Dernier message: 08/12/2006, 16h00
  4. [Système] Probleme de requette HTTP sur fichier php
    Par thenightmare1985 dans le forum Langage
    Réponses: 1
    Dernier message: 26/10/2006, 11h36
  5. explorateur fichier php sur windows 2003
    Par super-manu dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 09/02/2006, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo