Mehrere Strings ausschneiden und als Array speichern

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Daywalker2004, 01.09.2008.

  1. #1 Daywalker2004, 01.09.2008
    Daywalker2004

    Daywalker2004 Jungspund

    Dabei seit:
    21.11.2006
    Beiträge:
    11
    Zustimmungen:
    0
    Ort:
    Ruhrgebiet
    Hallo,

    ich schreibe mir gerade ein Shell-Skript das Logfiles hinsichtlich Fehler überprüft. Das Skript soll das Log lesen und Fehlermeldung ausschneiden.

    Zum Beispiel:
    Code:
    RMAN-06004: ORACLE error from recovery catalog database: RMAN-20242: specification does not match any archivelog in the recovery catalog
    Ich möchte gerne, dass das Skript jetzt mir folgendes ausschneidet:
    Code:
    RMAN-06004
    RMAN-20242
    
    Die Logzeilen sollen nach folgende Suchmustern durchsucht werden:
    Code:
    EXP-?????
    ORA-?????
    RMAN-?????
    Leider habe ich nicht wirklich viel Ahnung von sed oder awk, aber ich hoffe ihr helft mir trotzdem. Im Moment schaff ich nur Fehlermeldungen auszulesen die am Anfang stehen.

    Code:
    set -A ERRORS $(cat $1 | /usr/xpg4/bin/grep -e EXP-* -e ORA-* | awk '{print $1}' | sed "s/://g")
    Vielleicht könnt ihr mir helfen. Ich versuch schon die ganze Zeit aus awk schlau zu werden ;D

    MfG
    Daywalker2004
     
  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 Wolfgang, 01.09.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Auch hier wieder die Frage aller Fragen

    Mit GNU Werkzeugen aka grep könnte das zum Ergebnis führen.

    Code:
    egrep -o  "(RMAN|ORA|EXP)-[^:]*" input
    
    Da ich nicht weiß, mit welcher Shell du arbeitest, kann ich zu deinem seltsamen set Konstrukt nicht viel sagen.

    Immerhin genügt es in der Bash einfach eine Array on the Fly durch Wertzuweisung zu erzeugen.

    Code:
    MYARRAY=($(echo "test1 test2"))
    echo ${MYARRAY[0]}
    test1
    Gruß Wolfgang
     
  4. #3 Daywalker2004, 01.09.2008
    Daywalker2004

    Daywalker2004 Jungspund

    Dabei seit:
    21.11.2006
    Beiträge:
    11
    Zustimmungen:
    0
    Ort:
    Ruhrgebiet
    Entschuldigung, das habe ich glatt vergessen.

    Ich benutzt die Korn-Shell.

    Mit dem set Konstrukt erstelle ich das Array.
     
  5. #4 Wolfgang, 01.09.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Ok, dann habe ich nix gesagt.

    Immerhin solltest du das UUOC weglassen, grep kennst selbst das Argument INPUT.

    Gruß Wolfgang
     
  6. Anzeige

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

Mehrere Strings ausschneiden und als Array speichern

Die Seite wird geladen...

Mehrere Strings ausschneiden und als Array speichern - Ähnliche Themen

  1. grep mehrere strings

    grep mehrere strings: hallo, ich schaue mit ps aux | grep prog ob ein prog läuft. wenn ich nach zwei programmen suche, dann nutze ich den grep-befehl eben...
  2. Editor, ersetzen von strings im mehreren Files

    Editor, ersetzen von strings im mehreren Files: Hallo, ich suche einen einfachen buttonorientierten Editor, der mir einen String in zahlreichen geladenen Textfiles gleichzeitig ersetzt,...
  3. [Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

    [Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter: Hallo zusammen, ich bin an einem Punkt angekommen, wo ich nicht mehr weiter komme und hoffe ihr könnt mir weiter helfen. Anbei ein Ausschnitt aus...
  4. Mehrere SSL Vhosts

    Mehrere SSL Vhosts: Hey zusammen, Ich habe zwei verschiedene VHosts mit einem Apache 2.4 am rennen. <VirtualHost *:80> ServerName test1.de DocumentRoot...
  5. Reverse Proxy einrichten für mehrere subdomains über Port 80

    Reverse Proxy einrichten für mehrere subdomains über Port 80: Guten Tag zusammen. Ich habe folgendes Problem. Bei mir laufen 2 Apache-Tomcat Services. Einer auf Port 8880 und einer auf Port 8080. Nun habe...