Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Zwei datein vergleichen >> Unterschied in von Datei1 in datei

  1. #1
    Registrierter Benutzer
    Registriert seit
    Aug 2013
    Beiträge
    11

    Zwei datein vergleichen >> Unterschied in von Datei1 in datei

    Hallo, ihr habt mir gestern sehr geholfen. Vielen Dank nochmal.
    Nun bin ich bei dem nächsten Problem.

    In einer Shell Script möchte ich zwei Datein verlgeichen.
    Die Dateien haben folgende Strukturen

    Code:
    datei1 | datei2
       A    |    A
       B    |    B
       C    |    C
       D    |
       E    |    E
             |   F
       G    |    G
    Nun möchte ich, dass die datei1 mit datei2 verglichen wird. dabei ist mir wichtig, dass nur die Unterschiede aus Datei 1 in eine extra Datei geschrieben werden.

    Habe mir folgenden Code überlegt, denke aber, dass das != äquivalent ist und Wort1 damit nicht führend ist und somit auch das Wort "F" mit in die Liste kommt.

    Code:
    #!/bin/bash
     
    for WORT1 in `cat test1.txt`; do 
    	for WORT2 in `cat test2.txt`; do
    		if WORT1 != WORT2
    		echo $WORT1 >> {oldpc.txt}
    	done
    done
    Ich hoffe dass ihr mein Anliegen versteht.
    lg

  2. #2
    Rain_maker
    Gast
    Code:
    man diff
    Greetz,

    RM

  3. #3
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.062
    ggf. auf
    Code:
    man grep
    je nach Wusch - willst Du die Unterschiede oder willst Du die Einträge aus Datei1, die nicht in Datei 2 enthalten sind?
    Ich bin root - ich darf das.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Aug 2013
    Beiträge
    11
    Mit diff und grep habe ich es schon probiert.

    Das Problem ist, dass die Sortierung manchmal nicht funktioniert und damit nicht deckungsgleich zur anderen Datei ist

    Beispielsweise:

    Code:
    datei1 | datei2
       X    |    A
       Y    |    B
       Z    |    C
       A    |
       F    |    E
             |   F
       G    |    G
    Also wirklich alles durcheinander.

    Deswegen ist eine Schleife wahrscheinlich die einzige Möglichkeit.

    Pointer auf Datei 1 1. Zeile. Vergleiche mit der gesamten Datei2, ob das wort da drin ist. Wenn ja, gehe weiter, wenn nein schreibe den Namen aus Datei1 in eine extra Datei und gehe dann zur nächsten Zeile in Datei1 und vergleiche mit Datei2 usw.

    Wenn in Datei2 ein Name ist, der nicht in Datei1 ist, dann soll er auch weiter gehen und nichts machen.

    Also ja: "Daten aus Datei1, die nicht in Datei 2 enthalten sind?" - Aber nicht andersherum.

  5. #5
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.062
    mit grep IMHO kein Problem. Wie war denn Dein nicht funktionierender Ansatz?
    Ich bin root - ich darf das.

  6. #6
    Registrierter Benutzer Avatar von buzz768
    Registriert seit
    Apr 2005
    Ort
    Rostock
    Beiträge
    2.016
    Zitat Zitat von shanny Beitrag anzeigen
    Also ja: "Daten aus Datei1, die nicht in Datei 2 enthalten sind?" - Aber nicht andersherum.
    Code:
    grep -v -F -f datei2 datei1
    wobei datei2 keine Leerzeilen enthalten darf
    Geändert von buzz768 (28.08.13 um 12:19 Uhr)
    Arch Linux / Intel Z77 / i5-3570K / 8GB PC3-1333 / SAMSUNG SSD 830 128GB

  7. #7
    Registrierter Benutzer
    Registriert seit
    Aug 2013
    Beiträge
    11
    Danke, ich war soweit mit grep

    Code:
    for i in $(cut -d ";" -f1 ./Datei1.csv)
         do
         grep $i ./Datei2.csv >>./restdata.csv
    done
    Wobei mir hir noch die Negation gefehlt hat von grep.

  8. #8
    Registrierter Benutzer
    Registriert seit
    Aug 2013
    Beiträge
    11
    Zitat Zitat von buzz768 Beitrag anzeigen
    Code:
    grep -v -F -f datei2 datei1
    wobei datei2 keine Leerzeilen enthalten darf
    Memo an mich: warum schwer, wenn es auch einfach geht.
    Danke, das geht ja super einfach.

Ähnliche Themen

  1. pdf writer für samba in suse 8.0
    Von cos im Forum Anwendungen Allgemein, Software
    Antworten: 16
    Letzter Beitrag: 14.10.05, 20:34
  2. Problem beim ausführen von make
    Von Krockett im Forum Kompilieren von Kernel und Sourcen
    Antworten: 2
    Letzter Beitrag: 21.11.02, 12:17
  3. xine - wackelt,ruckelt, verwirft bilder
    Von hmikux im Forum Fernsehen
    Antworten: 15
    Letzter Beitrag: 24.09.02, 17:31
  4. RichTextFormat (RTF) Datei in Postscript Datei umwandeln?
    Von sutterp im Forum Anwendungen Allgemein, Software
    Antworten: 6
    Letzter Beitrag: 10.09.02, 07:16
  5. ich krieg nixnistalliert!
    Von S3r!0us im Forum System installieren und konfigurieren
    Antworten: 5
    Letzter Beitrag: 08.07.02, 07:45

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •