|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Invité de passage
![]() Inscription : février 2003 Messages : 4 ![]() |
Bonjour à tous,
Je cherche une commande en shell pour pouvoir comparer 2 fichier et effacer les doublons pour avoir en resultat que les differences. ex: fichier1: Citation:
Citation:
Citation:
voila, si quelqu'un pourrais m'aider, je lui serais reconnaissant PS: dsl pour cet exemple un peu nul... |
|||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : décembre 2002 Messages : 1 423 ![]() |
permière piste :
'man diff'
__________________
Reportage d'Arte sur Linux |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2003 Messages : 4 ![]() |
merci je connaissais pas cette commande
|
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : juillet 2004 Messages : 2 245 ![]() |
il y a aussi cmp mais j'utilise diff comme le propose le posteur avant moi.
|
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() Inscription : décembre 2002 Messages : 1 423 ![]() |
je pense que 'cmp' est plus approprié pour comparer des ficheirs binaire car il compare les fichier byte à byte comme il est dit dans le man :
cmp - compare two files byte by byte
__________________
Reportage d'Arte sur Linux |
|
|
00
|
|
|
#6 |
![]() Inscription : juillet 2004 Messages : 2 573 ![]() |
La commande cmp indique si les fichiers sont identiques.
Syntaxe: La commande diff recherche les différences entre deux fichiers. Syntaxe Voilà @++
__________________
.Olivier |
|
|
00
|
|
|
#7 |
|
Membre émérite
![]() ![]() Inscription : mai 2002 Messages : 727 ![]() |
Tu peux te dépatouiller avec awk pour avoir le format de sortie que tu as écrit
Code :
{ cat a | sort | uniq ; echo -- ; cat b | sort | uniq } | awk 'BEGIN { x = 1 } $1 == "--" {x *= 2} $1 != "--" { tab[$0] += x } END { for (i in tab){ if (tab[i] != 3) print i } }' Pour le script awk, y'a diverses manière de faire, je trouve ca assez propre... Si on considère les valeurs que j'ajoute (1 et 2) en binaire (01 et 10) selon que ca soit le premier ou second fichier, pour chaque ligne on aura 01 si unqiuement dans le fichier 1, 10 si uniquement dans le fichier 2... 11 si dans les deux ... (Et pas de ligne si dans aucun
__________________
Smortex Les FAQ Assembleur - Linux In The Beginning Was The Command Line Neal Stephenson |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com