Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen!

Ich hab folgendes Problem.. In einem Tcl script brauche ich eine IP-Adresse... Diese lass ich mir aus einer Datenbank liefern, muss aber überprüfen, ob es sich um eine gültige IP handelt, da in der Datenbank auch IPs sind, die ich nicht brauche!

Der Aufruf ist wie folgt:

mysql -u user -p password -ABC_DB -e "SELECT Svr_IP FROM Servers S WHERE town='townA' and Svr_name='nameA';"
Dann erhalte ich die Ausgabe +----------------+ | Svr_IP | +----------------+ | ***.***.***.*** | +------------------+ Wie komm ich jetzt NUR an die IP selber ran? Wenn ich hier regular expression drüber laufen lasse, dann findet er nie eine gültige IP... meine regular expression orientiert sich an diesem Beispiel:
if {[regexp {(^[2][5][0-5].|^[2][0-4][0-9].|^[1][0-9][0-9].|^[0-9][0-9].|^[0-9].)([2][0-5][0-5].|[2][0-4][0-9].|[1][0-9][0-9].|[0-9][0-9].|[0-9].)([2][0-5][0-5].|[2][0-4][0-9].|[1][0-9][0-9].|[0-9][0-9].|[0-9].)([2][0-5][0-5]|[2][0-4][0-9]|[1][0-9][0-9]|[0-9][0-9]|[0-9])$} $string match v1 v2 v3 v4]} {puts "$v1$v2$v3$v4"} else {puts "none"}

Hat jemand ne Idee, einen Tipp oder ähnliches? Auf die Datenbank habe ich keinen Einfluss.....

:rolleyes:

gruß

thund3r

Geschrieben (bearbeitet)

Hallo,

Ich kenn mich zwar nicht so mit tcl aus, aber vieleicht kann ich dir ja trotzdem helfen.

Also zum einen würde es vermutlich einfacher werden wenn du in deinem mysql befehl dern schalter -s einbaust. Dann bekommste nämlich nur die Ergebnisse und nicht den ganzen andern Kram zur schöneren Darstellung.

In deinem Beispiel also:

mysql -u user -p password -ABC_DB -s -e "SELECT Svr_IP FROM Servers S WHERE town='townA' and Svr_name='nameA';"
Zu der RegExp: Ich würde auf jedenfall die Punkte escapen, da diese sonst auf jedes Zeichen matchen und nicht nur auf einen Punkt. Wenn doch noch Zeichen vor oder hinter der IP-Adresse stehen (obwohl -s gesetzt ist) muss das auch in der RegExp stehen also etwas wie
.*

am Anfang und am Ende.

Aber Ich denke mit dem -s Schalter von mysql sollte dein Problem auch mit der aktuellen RegExp zu lösen sein.

Hoffe Ich konnte helfen.

MfG Shogoki

Bearbeitet von Shogoki
Geschrieben

Hey!

Ja danke, genau das hat mir gefehlt! :) Hab noch nicht so viel mit mysql gemacht, danke für deine Hilfe, funktioniert jetzt wunderbar!

Und den Tipp für den . werd ich auch berücksichtigen!

Danke dir! :)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...