Comment puis-je tracer les résultats d'une commande unix diff côte à côte au lieu d'une différence après l'autre? Voir ci-dessous pour un exemple:
diff /tmp/test1 /tmp/test2
1,4c1,2
< asfdsadf
< asdfsad
< fsaf
< fdsadf
---
> asdfsafdsf
> saf
6,8d3
< sadf
< asdf
< sadf
10d4
< fasd
12,13c6,14
< sadfa
< fd
---
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> safa
J'aimerais avoir quelque chose comme:
diff /tmp/test1 /tmp/test2
1,4c1,2
< asfdsadf > asdfsafdsf
< asdfsad > saf
< fsaf
< fdsadf
---
6,8d3
< sadf
< asdf
< sadf
10d4
< fasd
12,13c6,14
< sadfa > sadf
< fd > sadf
--- > sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> safa
Réponses:
De
man diff
, vous pouvez utiliser-y
pour faire côte à côte.Par conséquent, dites:
Tester
Comparons-les:
la source
diff
a une largeur de sortie maximale codée en dur (130 colonnes). Ajoutez l'option diff--width=$COLUMNS
pour définir cela sur la largeur de votre terminal.diff -y /tmp/test1 /tmp/test2 | less
diff --width=$COLUMNS --suppress-common-lines --side-by-side a b
diff --expand-tabs --width=$COLUMNS --suppress-common-lines --side-by-side a b
Depuis la page d' accueil d'icdiff :
IMHO, sa sortie est beaucoup plus lisible que
diff -y
.la source
la source
-y
montre simplement des lignes communes qui ne sont pas les mêmes que justediff
et la question originale. +1.diff -W $COLUMNS --suppress-common-lines -y file1 file2
Vous pouvez utiliser:
ou
ou
pour un affichage côte à côte.
la source
diff -y
etsdiff
? Leur sortie me semble identique.Vous devriez avoir
sdiff
pour la fusion côte à côte des différences de fichiers. Lisezman sdiff
l'histoire complète.la source
sdiff
semble faire la même chose quediff -y
et lasdiff
documentation info dit que c'est obsolète: "'sdiff' sans '--output' ('-o') produit une différence côte à côte. Cette utilisation est obsolète; utilisez plutôt l'option '--side-by-side' ('-y') de 'diff'. "Vous pouvez simplement utiliser:
Il montre la sortie divisée en deux colonnes et colorisée! (
colordiff
)la source
brew install colordiff
Voir colordiffUtilisez l'
-y
option:la source
Essayez cdiff - Affichez les différences incrémentielles en couleur dans l'espace de travail ou à partir de stdin avec prise en charge côte à côte et pager automatique.
la source
Vous pouvez utiliser
vimdiff
.Exemple:
la source
Si vos fichiers ont une utilisation incohérente d'espaces et d'onglets, vous trouverez peut-être utile d'inclure l'
-t
argument pour développer les onglets:la source
Commande de différence améliorée avec couleur, côte à côte et alias
Disons que le contenu du fichier est comme:
et
Maintenant comparant côte à côte
Vous pouvez définir l'alias à utiliser
Puis nouveau résultat de diff:
la source