Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/07/2013, à 12:33

totycos

[Résolu] Explication des diagnostiques de la commande "diff"

Bonjour à tous,

Après avoir consulter le manuel et divers forums en quête de réponses à mes questions, je ne parviens toujours pas à comprendre un diagnostique de la commande"diff".

Je veux comparer 2 fichiers, un fichier "a" et un fichier "b", après avoir lancer la commande "diff a b" , j'obtiens le résultat suivant :

1,2c1,8
< STARWARS
< Episode IV, A NEW HOPE It is a period of civil war.
---
> Episode V, A NEW H0PE It is a period of civil war
> Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire. 
> During the battle, Rebel spies managed to steal secret plans to the Empire's ultimate weapon, the STAR DEATH, an armored space station with enough power to destroy an entire planet.
> 
> 
> Pursued by the Empire's sinister agents,
> Princess Mehdi races home aboard her starship, custodian of the stolen plans that can save her people and restore the dictatorship to the galaxie..
> 
4,6d9
< Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire.
< During the battle, Rebel spies managed to steal secret plans to the Empire's ultimate weapon, the DEATH STAR,
< an armored space station with enough power to destroy an entire planet.
8d10
< Pursued by the Empire's sinister agents, Princess Leia races home aboard her starship, custodian of the stolen plans that can save her people and restore freedom to the galaxy...

Je ne comprends pas ce que signifie les : 1,2c1,8 ; 4,6d9 et 8d10

Quelqu'un pourrait-il m'éclairer ? ^^'

Merci.

Dernière modification par totycos (Le 18/07/2013, à 15:16)

Hors ligne

#2 Le 18/07/2013, à 13:31

elendil

Re : [Résolu] Explication des diagnostiques de la commande "diff"

De mémoire, il me semble que ça fonctionne comme ça :

ligneFichier1,mod,ligneFichier2

où ligneFichier1-2 peut-être écrit comme première_ligne,dernière_ligne
et mod=(a,d,c)
a = append (ajouté)
d = delete (supprimé)
c = change (changé)

Je me trompe peut-être mais c'est assez simple à vérifier entre tes deux fichiers ;-)

Edit: Si tu veux faire des comparaison plus simplement et de manière graphiques tu as meld qui est vraiment bien.
Sinon tu peux jouer avec les options de diff afin de comparer cote-à-cote dans un terminal ou en fonction du contexte.... voir ici pour plus d'infos et

Dernière modification par elendil (Le 18/07/2013, à 13:33)

Hors ligne

#3 Le 18/07/2013, à 13:59

pingouinux

Re : [Résolu] Explication des diagnostiques de la commande "diff"

Bonjour,
Pour préciser un peu :
1,2c1,8 : remplacer les lignes 1 à 2 de a par les lignes 1 à 8 de b
4,6d9 : supprimer les lignes 4 à 6 de a, et se positionner à la ligne 9 de b
7a11,13 : ajouter les lignes 11 à 13 de b après la ligne 7 de a

Avec ces valeurs, si tu fais un diff b a, tu obtiendras :

1,8c1,2
..........
9a4,6
..........
11,13d7
..........

Le résultat de diff peut servir d'entrée à la commande patch.

diff a b >mon_diff
patch a <mon_diff

et le fichier a est maintenant devenu identique au fichier b.

Hors ligne

#4 Le 18/07/2013, à 15:12

totycos

Re : [Résolu] Explication des diagnostiques de la commande "diff"

Merci à vous deux !

Après vos explications et quelques tests, j'ai finalement compris le fonctionnement de diff.

Bien anticipé pingouinux pour la commande PATCH, c'est sur celle-ci que je me penche maintenant.

Encore MERCI ! smile

Hors ligne

#5 Le 18/07/2013, à 16:48

tiramiseb

Re : [Résolu] Explication des diagnostiques de la commande "diff"

Salut,

Comme elendil, je te conseille vivement meld si tu veux avoir un aperçu des différences très parlant.

Hors ligne