En cours de rédaction

Utiliser diff et patch sous Linux

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Code BASH :
11 [22:57:48] adrien@superlinux: ~  $  cat livre 
Il était un
petiot navire
Il était un
petit navire
qui n'avait ja-ja jamais navigué
12 [22:57:52] adrien@superlinux: ~  $ cp livre livre~
15 [22:59:18] adrien@superlinux: ~  $ cat livre
Il était un
petit navire
Il était un
petit navire
qui n'avait ja-ja jamais navigué
16 [22:59:20] adrien@superlinux: ~  $ cat livre~ 
Il était un
petiot navire
Il était un
petit navire
qui n'avait ja-ja jamais navigué
17 [22:59:23] adrien@superlinux: ~  $ diff -rus livre~ livre
--- livre~      2013-06-19 22:58:15.336124191 +0200
+++ livre       2013-06-19 22:59:12.607321017 +0200
@@ -1,5 +1,5 @@
 Il était un
-petiot navire
+petit navire
 Il était un
 petit navire
 qui n'avait ja-ja jamais navigué
18 [22:59:54] adrien@superlinux: ~  $ diff -rus livre~ livre > livre.patch
19 [23:01:12] adrien@superlinux: ~  $ cat livre.patch 
--- livre~      2013-06-19 22:58:15.336124191 +0200
+++ livre       2013-06-19 22:59:12.607321017 +0200
@@ -1,5 +1,5 @@
 Il était un
-petiot navire
+petit navire
 Il était un
 petit navire
 qui n'avait ja-ja jamais navigué
# Je simule le fichier livre "original" de mon correspondant
20 [23:01:16] adrien@superlinux: ~  $ cp livre~ livre
cp : voulez-vous écraser « livre » ? o
21 [23:01:53] adrien@superlinux: ~  $ cat livre
Il était un
petiot navire
Il était un
petit navire
qui n'avait ja-ja jamais navigué
23 [23:02:08] adrien@superlinux: ~  $ patch -p0 < livre.patch 
patching file livre
24 [23:02:10] adrien@superlinux: ~  $ cat livre
Il était un
petit navire
Il était un
petit navire
qui n'avait ja-ja jamais navigué
25 [23:02:16] adrien@superlinux: ~  $ 



Comparer pour des HDD

Code BASH :
28 [19:40:14] adriencl@superlinux: ~/tmp/diff  $ diff -rqs a/ b/
Seulement dans a/: fic2
Les fichiers a/fictest et b/fictest sont différents
Les fichiers a/test et b/test sont identiques
29 [19:40:20] adriencl@superlinux: ~/tmp/diff  $ diff -rq a/ b/
Seulement dans a/: fic2
Les fichiers a/fictest et b/fictest sont différents


Utiliser -H pour analyse heuristique => moins long pour les gros fichiers