Anzeige:
Ergebnis 1 bis 3 von 3

Thema: array in if abfragen

  1. #1
    Registrierter Benutzer
    Registriert seit
    12.08.2006
    Beiträge
    33

    array in if abfragen

    Hallo,
    kann man in einem Vergleich mehrere werte abfragen ohne eine for schleife zu nutzen?
    Ich habe bereits eine for schleife die mir Datenbankeinträge holt,
    wenn ich jetzt noch eine for schleife einbaue wird ja jeder wert doppelt abgefragt.
    Fall ist das wenn ein Feld einem bestimmten wert entrspricht soll er keine Aktion durchführen:

    Code:
    EXCL=( 1008 377 )
    ...
    
    for SUM in ${GET_ACK_SVC[*]}
    do
    OID=`echo ${GET_ACK_SVC}|awk '$1 ~ // {print $'1'}'`
    
    ....
    
    for EXCL_OID in ${EXCL[*]}
    do
    	if [ $OID -eq $EXCL_OID ]
    	then
    		echo "Object not removed"
    		break;
    	else
            ...
    reicht der Ausschnitt zum Verständniss des Problems?

    ist der Test [ so inteligent das er evtl. alle Felder des Array ${EXCL[*] vergleicht?

    Gruß

  2. #2
    Registrierter Benutzer Avatar von ContainerDriver
    Registriert seit
    10.01.2003
    Beiträge
    418
    Hallo,

    ich denke nicht, dass die Bash solch eine Code-Analyse durchführt. Wenn du auf die Schleife verzichten willst, könntest du grep benutzen:
    Code:
    echo " ${EXCL[*]} "| grep " $OID " - && echo "gefunden"
    ; allerdings weiß ich nicht, ob das wirklich Geschwindigkeitsvorteile bringt.

    Gruß, Florian
    Geändert von ContainerDriver (23-09-2008 um 16:45 Uhr) Grund: Befehl korrigiert.
    Ein gebrechlich Wesen ist der X-Server.

  3. #3
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Moin,

    Deinen awk musst Du mir mal erklären - da steige ich nicht durch (am besten mit einem Beispiel, wie GET_ACK_SVC aussieht).

    Jan

Lesezeichen

Berechtigungen

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