vergleich von 2 Textdateien

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
tsaenger
Posts: 414
Joined: 2003-08-13 01:14

vergleich von 2 Textdateien

Post by tsaenger » 2006-09-28 23:49

Hallo,

Ich würde gerne wissen, wie ich folgendes Problem lösen kann:

Ich habe 2 Text-Files. In denen steht pro Zeile ein String.
Nun würde ich gerne die übereinstimmenden Strings von File1 und File2 aus den Files entfernen, sodass ich in File1 nur noch das drin stehen habe was in File2 nicht steht und andersrum.
Hier kann es auch sein, das der Sting "test" in File1 in Zeile 3 steht und in File2 in Zeile 15. Trotzdem soll dann aber der String aus beiden Files entfernt werden.
Das ist doch bestimmt irgendwie machbar oder?

Gruß & Danke für die Hilfe

Tobias

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: vergleich von 2 Textdateien

Post by flo » 2006-09-29 00:18

ich hab so etwas mal übelst mit einer while-Schleife zusammengehackt - ich glaube nicht, daß diff so etwas könnte!?

flo.

tsaenger
Posts: 414
Joined: 2003-08-13 01:14

Re: vergleich von 2 Textdateien

Post by tsaenger » 2006-09-29 00:23

Hast du denn vllt. die while-schleife noch?

Gruß

Tobias

User avatar
Joe User
Project Manager
Project Manager
Posts: 11137
Joined: 2003-02-27 01:00
Location: Hamburg

Re: vergleich von 2 Textdateien

Post by Joe User » 2006-09-29 00:30

man comm
:roll:
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: vergleich von 2 Textdateien

Post by flo » 2006-09-29 00:32

nein, das war so ein 10-Minuten-Job, der händisch Stunden gedauert hätte - ein paar hundert DNS-Zonen über Server zu verteilen.

Code: Select all

cat textfile1 | while read line; do
    tmpline=`grep "${line}" | wc -l`
   if [ $tmpline -eq 0 ]; then
       echo $line > textfile3
   fi
done;
Ob das funzt, hängt aber auch vn den Dateien ab.

Geht aber sicher auch mit sed, awk oder ähnlichem, wenn man schon programmiert ...

flo.

(Der seit Montag bei jeweils unterschiedlichen Kunden Windows-Netze baut und kein Start-Menü mehr sehen kann und jetzt Heia macht.)

dotme
Posts: 150
Joined: 2004-12-15 16:48

Re: vergleich von 2 Textdateien

Post by dotme » 2006-09-29 10:52

Wenn Du auf die ursprüngliche Reihenfolge verzichten kannst:

$ cat file1 file2 file2 | sort | uniq -u > file1.out

P.S. Oops, kleine Korrektur - Du willst ja nur die eindeutigen Zeilen aus file1