Liste zeilenweise per regulärem Ausdruck prüfen und fehlermeldung ausgeben ...

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von MaeK, 23.10.2009.

  1. MaeK

    MaeK Grünschnabel

    Dabei seit:
    20.10.2009
    Beiträge:
    6
    Zustimmungen:
    0
    Hallo,

    ich möchte eine Liste per regulärem Ausdruck prüfen und eine Fehlermeldung ausgeben wenn der Eintrag in der Liste nicht dem regulären Ausdruck entspricht.

    Liste muss so aussehen

    XXXXXXXX_XXX_XX

    Beispiel:

    hsb8ns7w_ARD_09
    ia8sh7dt_ZDF_23

    mein regulärer Ausdruck

     
  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 slackfan, 23.10.2009
    Zuletzt bearbeitet: 23.10.2009
    slackfan

    slackfan König

    Dabei seit:
    18.04.2006
    Beiträge:
    809
    Zustimmungen:
    0
    Ort:
    Bonn
    Normalerweise funktioniert es so, dass man eine konkrete Frage stellt, damit niemand herumraten muss, was man gemeint haben könnte :)

    Suchst du etwas Derartiges?

    Code:
    #!/bin/bash
    FEHLER=$(egrep -iv '^[a-z0-9]{8}_[a-z0-9]{3,4}_[0-9]{2}$' $1)
     
    if [ ! "$FEHLER" == '' ]; then
      echo -n 'Anzahl der Fehler: '
      echo $FEHLER | wc -l
    fi
    
    Ich denke, Sender wie 3SAT und DOKU sollte man auch berücksichtigen, deswegen {3,4} und nicht {3}.


    cu
     
  4. #3 Tblue, 23.10.2009
    Zuletzt bearbeitet: 23.10.2009
    Tblue

    Tblue Tripel-As

    Dabei seit:
    27.11.2007
    Beiträge:
    188
    Zustimmungen:
    0
    Oder um sich den wc-Aufruf zu sparen:

    Code:
    #!/bin/sh
    
    # ...Hier korrekterweise noch Überprüfung, ob $1 nicht leer ist...
    
    ERRORS=`grep -Evc '^[^_]{8}_[A-Z]{3}_[0-9]{2}$' "$1"`
    
    if [ $ERRORS -gt 0 ]; then
      echo "Anzahl der Fehler: ${ERRORS}"
      exit 1
    fi
    
    Bei der RegExp könnte slackfan Recht haben, ich habe jetzt deinen originalen Ausdruck genommen (bzw. seine letztendliche Bedeutung). :)
     
  5. #4 slackfan, 23.10.2009
    Zuletzt bearbeitet: 24.10.2009
    slackfan

    slackfan König

    Dabei seit:
    18.04.2006
    Beiträge:
    809
    Zustimmungen:
    0
    Ort:
    Bonn
    Das egrep stand bei mir ohne -c drin, weil er ja nicht schreibt, ob ihn die falschen Zeilen inhaltlich interessieren. Da er weiter nicht schreibt, welches grep und welche Shell er nutzt, ist vieles möglich. Er könnte ja sogar ein cmd-let der PowerShell benutzen.
     
  6. #5 MaeK, 28.10.2009
    Zuletzt bearbeitet: 28.10.2009
    MaeK

    MaeK Grünschnabel

    Dabei seit:
    20.10.2009
    Beiträge:
    6
    Zustimmungen:
    0
    Hallo,

    entschuldigt das ich so an Informationen gegeizt hab.
    Ich benutze die Korn-Shell und mich interessieren in diesem Schritt nur die falschen Zeilen.

    Vielen Dank für eure Hilfe.
    Mit euren Tipps konnte ich das Problem lösen :).
     
Thema:

Liste zeilenweise per regulärem Ausdruck prüfen und fehlermeldung ausgeben ...

Die Seite wird geladen...

Liste zeilenweise per regulärem Ausdruck prüfen und fehlermeldung ausgeben ... - Ähnliche Themen

  1. Liste zeilenweise auslesen und best. Teile umwandeln ...

    Liste zeilenweise auslesen und best. Teile umwandeln ...: Hallo, ich habe eine Liste die in etwas so ausschaut: ---------- lxbh1at9_ERL_20 aif2us7_WQA_02 . ... ---------- Im ersten Schritt muss ich den...
  2. Hundertserver sucht Dich: Linux Spezialisten in Berlin.

    Hundertserver sucht Dich: Linux Spezialisten in Berlin.: Hundertserver sucht einen Linuxspezialiten in Berlin Hundertserver über sich: "Hundertserver bietet Unternehmen die Möglichkeit, digitale...
  3. Frankreich erneuert seine Referenzliste zu freier Software

    Frankreich erneuert seine Referenzliste zu freier Software: Frankreich hat die Ausgabe für 2016 von SILL, der Referenzliste zu freier Software zur Verwendung in französischen Amtsstuben herausgegeben....
  4. Rogue Wave übernimmt PHP-Spezialisten Zend

    Rogue Wave übernimmt PHP-Spezialisten Zend: Der PHP-Spezialist Zend Technologies wurde durch Rogue Wave aufgekauft. Mit der Übernahme will sich der US-Cross-Plattform-Hersteller verstärkt in...
  5. Checkliste für Beschaffung von Open Source Software in der Schweiz vorgestellt

    Checkliste für Beschaffung von Open Source Software in der Schweiz vorgestellt: Die Schweizerische Informatikkonferenz (SIK) hat eine 15 Punkte umfassende Liste vorgelegt, die das IT-Beschaffungswesen der Eidgenossen bei der...