2 files vergleichen - please help

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von sniffer, 16.05.2006.

  1. #1 sniffer, 16.05.2006
    sniffer

    sniffer Jungspund

    Dabei seit:
    16.05.2006
    Beiträge:
    17
    Zustimmungen:
    0
    hallo zusammen.

    bin neu hier und hab gleich ne frage ..... sorry.

    hoffentlich kann mir einer der spezialisten hier helfen.

    mein problem: ich schreibe mir die EVA storage konfig in ein file (vdisk, wwid, system, und size) und den lsscsi/scsi_info (device, wwid) in ein zweites und will diese vergleichen.

    auf was ich hinaus will:
    wenn im ersten file die wwid mit der im zweiten file übereinstimmt dann soll ins erste file das device geschrieben werden.

    beispiel file 1:
    vdisk : epp_data_vd001 WWLN : 600508b40010611d0000900004670000 Storage : A_IT1 Size MB : 200
    vdisk : epp_arch_vd001 WWLN : 600508b40010611d00009000041c0000 Storage : A_IT1 Size MB : 40

    beispiel file 2:
    /dev/sda 600508b40010611d0000900004670000
    /dev/sdb 600508b40010611d00009000041c0000

    was ich haben will:
    /dev/sda = vdisk : epp_data_vd001 WWLN : 600508b40010611d0000900004670000 Storage : A_IT1 Size MB : 200
    /dev/sdb = vdisk : epp_arch_vd001 WWLN : 600508b40010611d00009000041c0000 Storage : A_IT1 Size MB : 40
    usw.

    hat einer ne idee wie ich dieses am besten vergleichen kann? der schlüssel ist die wwid die in beiden files gleich ist und im file 1 an der 6. stelle - im 2. file an der 2. stelle steht.

    wenn´s geht dann will ich hier kein perl verwenden irgendwas mit awk/sed/comm/merge/find/..... oder wie auch immer wäre mir am liebsten.

    os: sles 9.3 / shell: bash

    herzlichen dank schon mal für euer bemühungen
    roland
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 shellmaster, 16.05.2006
    shellmaster

    shellmaster Doppel-As

    Dabei seit:
    21.08.2003
    Beiträge:
    122
    Zustimmungen:
    0
    hoi,

    vielleicht hilft dir das programm diff weiter. man diff gibt auskunft...
     
  4. #3 sniffer, 16.05.2006
    sniffer

    sniffer Jungspund

    Dabei seit:
    16.05.2006
    Beiträge:
    17
    Zustimmungen:
    0
    hi shellmaster

    diff nicht wirklich das ja in den beiden files ja nur der key "wwid" gleich ist.

    hab´s jetzt so zusammengestellt das ich mittels awk die wwid´s in beiden files an die erste stelle stelle und dann mit sort sotiere. danach schreib ich den gesammten output wieder mittels awk zusammen.

    schnell noch eine frage die du sicher beantworten kannst.

    wie lösche ich in jeder 2. zeile im file den ersten string?

    gruß
    roland
     
  5. #4 Schlaubi_fi.de, 16.05.2006
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    Beeeeispiiiiiiiiiel *kreisch* :D
     
  6. #5 sniffer, 16.05.2006
    sniffer

    sniffer Jungspund

    Dabei seit:
    16.05.2006
    Beiträge:
    17
    Zustimmungen:
    0
    ok - ist schwer zu verstehen wenn man nicht selber betroffen ist.

    hier ein beispiel auf was ich hinaus will:
    jede zeile beginnt mit wwln: +32 zahlen. ich will in der 1., 3., 5., 7., ..... zeile immer den forderen bereich bis zu /dev/... wegschneiden (fett markiert). klar was ich meine?

    WWLN : 600508b40010611d00009000041c0000 /dev/sdb
    WWLN : 600508b40010611d00009000041c0000 vdisk :
    WWLN : 600508b40010611d0000900004230000 /dev/sdc
    WWLN : 600508b40010611d0000900004230000 vdisk :

    gruß
    roland
     
  7. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Hallo...

    Da würde 'sed -e 's:^.* /:/:g' deineDatei.txt > ergebnis.txt' funktionieren...
    Ist halt eher quick'n'dirty...

    gruss
    d22
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Tja, hättest Du Perl nicht ausgeschlossen, hättest Du in 5 Min. ne Lösung für Dein Problem im ersten Post.

    Gruss, Xanti
     
  10. #8 sniffer, 17.05.2006
    sniffer

    sniffer Jungspund

    Dabei seit:
    16.05.2006
    Beiträge:
    17
    Zustimmungen:
    0
    @dizzgo
    dirty? nö, genau das was ich suche - danke!

    @Xanti
    ich weiß ich weiß, aber dann muss ich perl auch noch lernen .......

    problem ist somit erledigt - herzlichen dank an alle!

    gruß
    roland
     
Thema:

2 files vergleichen - please help

Die Seite wird geladen...

2 files vergleichen - please help - Ähnliche Themen

  1. Linux Standard Base 5.0 und Filesystem Hierarchy Standard 3.0 erschienen

    Linux Standard Base 5.0 und Filesystem Hierarchy Standard 3.0 erschienen: Nach etlichen Jahren ist die Standardisierung von Linux-Systemen endlich wieder ein Stück vorangekommen. Die jetzt veröffentlichte Linux Standard...
  2. agorum core 7.5 mit sicherem Filesharing und DATEV

    agorum core 7.5 mit sicherem Filesharing und DATEV: Das freie Dokumentenverwaltungssystem »agorum core« wurde in Version 7.5 veröffentlicht. Das System enthält jetzt neben anderen Neuerungen...
  3. Kdevelop findet open CV headerfiles nicht

    Kdevelop findet open CV headerfiles nicht: Hallo, Versuche auf Kdevelop umzusteigen. "Hello World" klappt auch. habe open CV heruntergeladen und kompiliert. Die headerfiles liegen auch...
  4. Prüfung Füllgrad eines Filesystems (wenn > x% dann Warnmail)

    Prüfung Füllgrad eines Filesystems (wenn > x% dann Warnmail): Ich möchte mittels Shellscript den Füllgrad eines Filesystems ermitteln (df -g) und die Prozentzahl mit "cut" rausschneiden. Liegt diese über 90,...
  5. Wie filtere ich nach Datum um Files zu löschen

    Wie filtere ich nach Datum um Files zu löschen: Ich möchte alle *.sql Dateien löschen die älter als 20 Tage sind. Die Verbindung mache ich von einem RedHat auf eine Windows 2008 Server....