regexp

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von flix, 30.07.2009.

  1. #1 flix, 30.07.2009
    Zuletzt bearbeitet: 30.07.2009
    flix

    flix Jungspund

    Dabei seit:
    20.07.2009
    Beiträge:
    19
    Zustimmungen:
    0
    lo zusammen,

    mein 100. post in den letzten paar tagen aber komme schon wieder nicht weiter... ich möchte in meinem script prüfen lassen, ob eine variable exakt + ist.

    habe schon folgendes ausprobiert leider ohne erfolg:

    if [ $VAR = "+" ]
    if [ $VAR = "\<+\>" ]
    if [ $VAR = '+' ]
    if [ $VAR = '\<+\>' ]
    if [ $VAR = '\<"+"\>' ]

    hilft bisher alles nichts... wenn in der variable z.b. +" " also +leerzeichen steht dann sagt er auch es ist richtig, er soll es aber nur akzeptieren wenn es wirklich genau "+" ist.

    EDIT:

    habe einen kleinen anhaltspunkt gefunden:

    die variable ist so definiert:

    Sstatus=`echo $service | $AWK -F: '{print $4}'`

    das + dadrin ist aber nicht in anführungsstrichen gespeichert also so "+ " oder '+ ' sondern einfach nur +
    wenn ich das + in anführungsstriche bekommen würde, dann würde auch das leerzeichen beachtet werden.

    Sstatus="`echo $service | $AWK -F: '{print $4}'`" tut es nicht. Kann da einer irgendwie abhilfe schaffen?
     
  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 floyd62, 30.07.2009
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    Und wie siehts mit
    Code:
    if [ "$VAR" = "+" ]; then ...
    
    aus?
     
  4. flix

    flix Jungspund

    Dabei seit:
    20.07.2009
    Beiträge:
    19
    Zustimmungen:
    0
    negativ :(
     
  5. #4 floyd62, 30.07.2009
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    Kannst du mal den Wert von "$service" zeigen?
     
  6. #5 flix, 30.07.2009
    Zuletzt bearbeitet: 30.07.2009
    flix

    flix Jungspund

    Dabei seit:
    20.07.2009
    Beiträge:
    19
    Zustimmungen:
    0
    'ssh daemon:/etc/init.d/ssh start:22:+'

    hmm irgendwie wird das letzte leerzeichen hinten abgeschnitten
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    ich habe jetzt den feldtrenner auf IFS=$'\n' gesetzt und jetzt wird das letzte leerzeichen nicht mehr geschluckt, frage ist nur ob das nicht irgendwelche anderen sachen behindert
     
  7. #6 floyd62, 30.07.2009
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    Denke, du bist schon auf dem richtigen Weg ;-)

    Ohne den IFS umzusetzen, sollte das aber auch mit
    Code:
    echo "$service" | ...
    an Stelle von
    Code:
    echo $service | ...
    laufen ...
     
  8. flix

    flix Jungspund

    Dabei seit:
    20.07.2009
    Beiträge:
    19
    Zustimmungen:
    0
    ah funtzt so wirklich :)

    ich bin noch was unsicher, wo man "" setzt... gibts da irgend eine allgemeine regel?
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #8 floyd62, 30.07.2009
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    Also, ich mach lieber ein paar mehr als zu wenige; nur in speziellen Fällen, etwa wenn ich gezielt Newlines oder mehrfache Leerzeichen eliminieren will, oder wenn ich genau weiss, dass eine Variable immer einen einzelnen, vernünftigen Wert enthält, lasse ich die Quotes mal weg. Hat sich halt - für mich - so bewährt; aber allgemeine Regeln will ich da nicht aufstellen ;-)

    Gruesse
     
  11. Jabo

    Jabo Aufgabe ohne Minister

    Dabei seit:
    12.10.2006
    Beiträge:
    1.322
    Zustimmungen:
    0
    Ort:
    Hamburg
    vielleicht die: Wenn Leerzeichen und Sonderzeichen drin sind, dann sind Quotes gut, weil sie das als String enthalten?
     
Thema:

regexp

Die Seite wird geladen...

regexp - Ähnliche Themen

  1. regexp für alle user einer bestimmten Maildomain

    regexp für alle user einer bestimmten Maildomain: Hallo, ich brauche den regulären Ausdruck, der mir erlaubt alle Mailadressen von firma.de zu filtern. Ich habe es schon mit folgenden...
  2. RegExp für "Wort|NN"

    RegExp für "Wort|NN": Hallo zusammen, ich habe eine Textdatei mit einigen tausend Zeilen, die in etwa so aussehen: ---------- Absenkung|NN -0.3434 Absenkungen...
  3. Blockade bei regexp - wie Exact-Match definieren?

    Blockade bei regexp - wie Exact-Match definieren?: Hallo Leute, komme gerade nicht weiter, dabei ist es eig. was banales. Wollte mit grep nach nem definierten Wert suchen und aufgrund der hohen...
  4. regexp zum Zaehlen von Buchstaben

    regexp zum Zaehlen von Buchstaben: Hallo, ich wuesste gerne den regulaeren Ausdruck (fuer grep o.ae.), um Zeilen aus einer Textdatei auszuwaehlen, die einen bestimmten Buchstaben...
  5. Denkfehler bei PHP / regexp?

    Denkfehler bei PHP / regexp?: Moin Moin! Ich habe ein Problem, an dem ich nun schon seit 2 Tagen sitze und ich langsam kein Land mehr sehe... :-( Ich habe einen 130k...