Archiv verlassen und diese Seite im Standarddesign anzeigen : Datein Vergleichen
geist_der_foren
19.02.04, 15:32
Hi @all,
gibt es ein Tool unter Linux, der mir 2 Datein vergleicht und dann die Differenz ausgibt ?
Also ich hab hier z.B. eine Datei names datei1 mit den inhalt
datei1_user1
datei1_user2
datei1_user3und dann habe ich noch eine Datei names datei2 mit den inhalt
datei1_user1
datei1_user2
datei1_user3
datei2_user1
datei2_user2
datei2_user3
datei2_user4Jetzt würde ich mir gerne nur folgendes ausgeben lassen:
datei2_user1
datei2_user2
datei2_user3
datei2_user4Hab es schon mit comm, diff & CO versucht, aber ich kommt nicht auf das Ergeniss was ich suche, kann mir jemand helfen ?
Danke schon mal im voraus...
Stanislaus
19.02.04, 15:44
Ähhmm.. diff macht aber doch genau das
file1:
datei1_user1
datei1_user2
datei1_user3
file2:
datei1_user1
datei1_user2
datei1_user3
datei2_user1
datei2_user2
datei2_user3
datei2_user4
diff file1 file2 > filediff
filediff:
3a4,7
> datei2_user1
> datei2_user2
> datei2_user3
> datei2_user4
Ist doch genau das was Du willst, oder?
geist_der_foren
19.02.04, 15:53
sorry mein fehler, ich habtte auf meinen Testrechner ein fehler ...
diff mach genau das was ich möchte ...
Danke für die Antworten
guck dir auch mal sdiff an oder wenn die dateien zu gross sind: bdiff
sdiff ist meist mein Tool der Wahl...
geist_der_foren
19.02.04, 16:11
also mein prob ist nicht so ganz gelöst ... wie ich dachte :(
also ich möchte 2 passwd´s verglechegen und die User rausschmeisen die schon drin sind ... Das prob ist bei diff wird ja die ganze Zeile vergleicht. Hier mal ein beispiel der 2 Passwd´s
PASSWD1_ALT
root:*:0:3::/:/sbin/sh
daemon:*:1:5::/:/sbin/sh
bin:*:2:2::/usr/bin:/sbin/sh
sys:*:3:3::/:
adm:*:4:4::/var/adm:/sbin/sh
uucp:*:5:3::/var/spool/uucppublic:/usr/lbin/uucp/uucico
lp:*:9:7::/var/spool/lp:/sbin/sh
nuucp:*:11:11::/var/spool/uucppublic:/usr/lbin/uucp/uucico
hpdb:*:27:1:ALLBASE:/:/sbin/sh
informix:*:101:101:Informix-User,,,:/home/informix:/usr/bin/shPASSWD_NEU:
root:x:0:0:ROOT USER:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:Daemon:/sbin:/bin/bash
lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
games:x:12:100:Games account:/var/games:/bin/bash
man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
at:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bash
wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
sshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/false
nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
Wenn ich jetzt ein diff mache, dann kommt folgendes raus:
1,10c1,14
< root:*:0:3::/:/sbin/sh
< daemon:*:1:5::/:/sbin/sh
< bin:*:2:2::/usr/bin:/sbin/sh
< sys:*:3:3::/:
< adm:*:4:4::/var/adm:/sbin/sh
< uucp:*:5:3::/var/spool/uucppublic:/usr/lbin/uucp/uucico
< lp:*:9:7::/var/spool/lp:/sbin/sh
< nuucp:*:11:11::/var/spool/uucppublic:/usr/lbin/uucp/uucico
< hpdb:*:27:1:ALLBASE:/:/sbin/sh
< informix:*:101:101:Informix-User,,,:/home/informix:/usr/bin/sh
---
> root:x:0:0:ROOT USER:/root:/bin/bash
> bin:x:1:1:bin:/bin:/bin/bash
> daemon:x:2:2:Daemon:/sbin:/bin/bash
> lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
> mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
> news:x:9:13:News system:/etc/news:/bin/bash
> uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
> games:x:12:100:Games account:/var/games:/bin/bash
> man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
> at:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bash
> wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
> ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
> sshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/false
> nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
Ich möchte mir aber nur die User ausgeben lassen, die es nicht gibt ! Gibt es eine Möglichkeit das so ausgeben zu lassen ?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.