PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IP extrahieren (ipconfig/cygwin)



zagadka
19-02-2004, 18:07
Hallo,

ich möchte mit einem einfachen Bash-Skript einen Teil einer Zeile extrahieren. Mit grep komme ich schon auf die komplette Zeile, allerdings möchte ich nur die IP (192....) in eine Variable schreiben.

root@xyz > ipconfig | grep IP-Adresse
IP-Adresse ................. : 192.168.5.3


Gruß

Rupert

mwanaheri
19-02-2004, 18:41
In diesem Thread findest Du Hilfe:
http://www.mrunix.de/forums/showthread.php?s=&threadid=34220

Vor allem Der Teil von Peschmae:
FILE=~/die/datei
NAME=$(grep name $FILE | sed 's/name=//')
PWD=$( grep passwort $FILE | sed 's/passwort=//')
kann deinen Zwecken dienen: du brauchst nur statt z.B. nach 'passwort=' nach ': '
(oder mehr, wenn mehr davor immer gleich ist) zu suchen.

peschmae
19-02-2004, 22:25
Danke für die Ehre :)

Allerdings geht das so nicht ganz (hätte wohl noch schreiben sollen was das so macht). Der sed-Befehl sucht nämlich nicht nach passwort= sondern ersetzt passwort= durch nix (d.h. löschen).

Hier müsste das - damit alle Zeichen vor dem : auch mit ersetzt werden - etwa so aussehen:


IP=$( ipconfig | grep xyz | sed 's/^.*://')


Das ^ steht für Zeilenanfang. Das . für ein beliebiges Zeichen und das * für beliebig viele davon - soviel wie möglich, so dass anschliessend noch ein : kommt.

Noch zwei Fragen:
1) ipconfig - das hab ich gar nicht, bei mir heisst das ifconfig :confused: Ist ja Cygwin -> Windows :p
2) Was willst du denn so machen, wenn einer mehrere Netzwerkkarten/-interfaces und dadurch auch mehrere IPs hat? IPs werden ja pro Netzwerkkarte im/am PC vergeben und nicht für einen PC.

MfG Peschmä

mwanaheri
20-02-2004, 08:11
Original geschrieben von peschmae
Danke für die Ehre :)

da nich für


Allerdings geht das so nicht ganz (hätte wohl noch schreiben sollen was das so macht). Der sed-Befehl sucht nämlich nicht nach passwort= sondern ersetzt passwort= durch nix (d.h. löschen).

Aber man kann sich daraus ableiten, wie es geht. Suchen macht grep, schneidet man den Rest raus, bleibt die IP.

zagadka
20-02-2004, 19:26
Hey, danke!!

Rupert