Pour afficher les ajouts et les suppressions sans contexte, sans numéro de ligne, sans +, -, <, > ! etc, vous pouvez utiliser diff comme ceci :
diff --changed-group-format='%<%>' --unchanged-group-format='' a.txt b.txt
Par exemple, étant donné deux fichiers :
a.txt
Common
Common
A-ONLY
Common
b.txt
Common
B-ONLY
Common
Common
La commande suivante montrera les lignes retirées de a ou ajoutées à b :
diff --changed-group-format='%<%>' --unchanged-group-format='' a.txt b.txt
sortie :
B-ONLY
A-ONLY
Cette commande légèrement différente affichera les lignes supprimées de a.txt :
diff --changed-group-format='%<' --unchanged-group-format='' a.txt b.txt
sortie :
A-ONLY
Enfin, cette commande montrera les lignes ajoutées à a.txt
diff --changed-group-format='%>' --unchanged-group-format='' a.txt b.txt
sortie
B-ONLY
2 votes
Vous devez mieux définir ce que vous entendez par ajout et suppression. Plus précisément, une ligne peut-elle changer ? Si oui, comment voulez-vous qu'une ligne modifiée soit traitée ? Si vous effectuez une vérification strictement axée sur les lignes, une ligne qui change est identique à l'ancienne ligne qui est supprimée et à la nouvelle ligne qui est ajoutée. Par exemple, comment doit-il traiter une ligne qui est divisée en deux ? Comme deux 1 ligne changée ? 2 lignes modifiées ? 1 ligne supprimée et 2 lignes ajoutées ? A moins que vous puissiez garantir que les lignes ne changeront jamais, qu'elles seront juste ajoutées et supprimées, je pense que c'est voué à l'échec sans de meilleures définitions.
2 votes
Je trouve la question assez peu claire. Mais au moins une interprétation de la question pourrait être répondue par
diff A B | grep '^[<>]'
0 votes
Vous recherchez peut-être
comm
.0 votes
@ChristopherCashell, Il veut dire ignorer l'ordre de tri ; un problème typiquement commun. Habituellement, cela se fait en triant d'abord les segments (lignes) de chaque côté avant de faire un diff typique.
0 votes
@Pacerier, Tu es sûr de ça ? Ou est-ce que vous devinez ? Rien sur le tri ou l'ordre de recherche n'est mentionné ou suggéré dans la question. En l'état, la question n'est pas claire et peut être interprétée de différentes manières. Sans savoir pour sûr ce qu'il demande, nous faisons des hypothèses et proposons des solutions qui peuvent ou non résoudre le problème réel. De plus, le commentaire du posteur original sur une des réponses suggère que c'est nicht liés au tri. Il s'agit de la signification de "ajouté et supprimé" par rapport à "modifié".