- Accueil
- Info légales
- Aide (FAQ)
- Les tags de ce site
- Bloc note
- Articles techniques
- Notes system
- Divers articles
- Drupal
- Notes ITIL 2007
- Notes MS
- Dans le quartier...
- Emploi
- Recettes de cuisine et adresses gourmandes
- mes applis ubuntu préferées
- Divers acronymes du monde social
- Internet 2018
- P2 meublé à louer - quartier du Poteau 75018
- apcos - réseaux sociaux et outils
- Articles techniques
- Divers liens
- Fun
- Mon CV IT
- Nouveautés
diff comparer en cli linux
diff et cmp (de linux-france)
La commande diff
donne les modifications à apporter au premier fichier spécifié pour qu'il ait le même contenu que le second.diff pass.tmp /etc/passwd
affichera les modifications à apporter au fichier pass.tmp
pour qu'il ait le même contenu que le fichier /etc/passwd
.
Source: http://www.linux-france.org/article/memo/node12.html
cmp
compare deux fichiers et vous dit quels numéros de ligne sont différents.
Sortie de diff :
- 3a4,7 indique que après la troisième ligne du premier fichier doivent être incrustées les lignes 4 à 7 du second. Attention, les messages suivants indiqueront les numéros des lignes sans tenir compte des incrustations qui auront éventuellement été apportées.
- 5,8d4 indique que les lignes 5 à 8 du premier fichier doivent être supprimées, car elles n'existent pas derrière la ligne 4 du second.
- 10,15c12,17 indique que les lignes 10 à 15 du premier fichier doivent être intégralement changées contre les lignes 12 à 17 du second.
Dans les 3 cas de figure, les lignes précédées du signe ``<'' se rapportent au premier fichier, et les lignes précédées du signe ``>'' se rapportent au second.
L'option -b permet de ne pas tenir compte des espaces lors de la comparaison des lignes.
La commande cmp
permet de comparer deux fichiers, et d'afficher le nombre de caractères et de lignes qui diffèrent. L'option -l affiche sur trois colonnes le numéro de ligne où il y a une différence et les valeurs ASCII en base huit des caractères différents.
Syntaxe cmp [options..] file1 file2
- c Le résultat différenciant les octets comme des caractères.
- l Imprimer le numéro d'octet (décimal) et les valeurs d'octets différentes (octal) pour chaque différence.
- s N'imprime rien pour les fichiers différents, retourne un statut de sorti seulement.
Ex
diff fic1 fic2 | grep \<
diff fic1 fic2 | grep \> fic2 - fic1
Retirer les < et > si avec grep
Comparer deux résultats de fichiers différents en octets comme caractères : cmp -c file1.php file2.php
compare file1.php avec file2.php et affiche: file1.php file2.php differ: byte 35, line 3 is 151 i 15
Pour les nuls :)
diff est une commande qui compare le contenu de deux fichiers, à tapper dans un terminal. En bleu foncé c'est le "prompt" qui vous indique où vous êtes (donc à ne pas saisir).
Créer 2 fichiers, qui contiennent chacun 2 lignes, et qui se ressemblent: l'un nommé fic1 contient a1 sur la 1ere ligne et sur la suivante a2 ; fic2 a aussi 2 lignes: la 1ere est blanche (vide) et la seconde contient a2
Faire dans cet ordre: diff fic1 fic2
puis diff fic1 fic2 | grep \<
montre les <a
user@nom-pc:~/bin/test$ diff fic1 fic2
1c1
< a1
---
>
user@nom-pc:~/bin/test$ diff fic1 fic2 | grep \<
< a1
alors que diff fic1 fic2 | grep \>
montre >
un ex utile pour drupal
autre ex (pour maj de www vers drupal 7.12) sachant que -u par 3 lignes et -r récursivement dans les dossiers
diff –ru www drupal-7.12
Plus
Avec interface fraphique: http://doc.ubuntu-fr.org/meld
https://www.lifewire.com/compare-two-text-files-linux-3861434
http://linux.about.com/od/linux101/fl/patch-Linux-Command-Unix-Command.htm
http://www.thegeekstuff.com/2010/06/linux-file-diff-utilities/
SEE ALSO
wdiff (word per word), cmp, diff3 (compare 3 fichiers à la fois, ligne par ligne), sdiff (Side-by-side merge of differences between FILE1 and FILE2), patch
qui applique un diff sur un fichier (patch [options] [originalfile [patchfile]]
ou patch -pnum <patchfile)