[gelöst] grep regexp Problem

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
synapsenstau
Beiträge: 171
Registriert: 08.10.2013 09:56:34
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Südharz

[gelöst] grep regexp Problem

Beitrag von synapsenstau » 21.04.2015 09:51:37

Moin,

ich versuche die ping Ausgabe mit grep nach der IP zu filtern. Leider funktioniert es nicht wirklich. Ist bestimmt nur ne Kleinigkeit.

Code: Alles auswählen

user@rechner:~$ ping -c 1 testurl.de | grep -E '[[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}]]'
> 
Ergibt immer nur ">". Habe auch schon ein paar Variationen durch, aber immer das selbe Ergebnis ">".
Die Regexp müsste passen:
[0-9]{1,3] = alle 1-3 stelligen zahlen
\. = gefolgt von einem Punkt
Das ganze 3 mal und 1 mal ohne Punkt am ende.

grüße Syna
Zuletzt geändert von synapsenstau am 21.04.2015 11:20:15, insgesamt 1-mal geändert.
..::: Intel® Core™ i5-6600 :::..::: 16 GB Ram :::..
..::: 1 TB Nvme :::..::: 1 TB SSD :::..::: NVIDIA GeForce GTX 1070 :::.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: grep regexp Problem

Beitrag von eggy » 21.04.2015 09:59:40

was hast Du vor? Falls Du nur an die Ip willst: "dig +short testurl.de"

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: grep regexp Problem

Beitrag von Meillo » 21.04.2015 10:01:22

Fuer was sind die jeweils zwei eckigen Klammern am Anfang und am Ende?
Use ed once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: grep regexp Problem

Beitrag von Meillo » 21.04.2015 10:03:10

synapsenstau hat geschrieben: Ergibt immer nur ">".
``>'' ist normalerweise der sekundaere Prompt. Hast du vergessen deine Quotes korrekt zu beenden? Oder ist ``>'' die Ausgabe und danach kommt ein neuer Prompt?
Use ed once in a while!

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: grep regexp Problem

Beitrag von eggy » 21.04.2015 10:15:07

sonst was spricht gegen:
ping -c 1 testurl.de |egrep "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"

Benutzeravatar
synapsenstau
Beiträge: 171
Registriert: 08.10.2013 09:56:34
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Südharz

Re: grep regexp Problem

Beitrag von synapsenstau » 21.04.2015 10:58:59

eggy hat geschrieben:was hast Du vor? Falls Du nur an die Ip willst: "dig +short testurl.de"
Ja ist auch ne möglichkeit. Da ich die IP in einem script weiterverarbeiten will, will ich nur 1 IP haben. Habe gerade gesehen, was bei google passiert

Code: Alles auswählen

dig +short google.de
194.122.80.31
194.122.80.25
194.122.80.24
194.122.80.45
194.122.80.59
194.122.80.39
194.122.80.38
194.122.80.18
194.122.80.53
194.122.80.32
194.122.80.46
194.122.80.52
Dann hätte ich ein Problem.......
Meillo hat geschrieben:Fuer was sind die jeweils zwei eckigen Klammern am Anfang und am Ende?
Das habe ich so aus einem howto.
eggy hat geschrieben:sonst was spricht gegen:
ping -c 1 testurl.de |egrep "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"
Das es mehr ausgibt als die IP:

Code: Alles auswählen

ping -c 1 google.de |egrep "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"
PING google.de (194.122.80.31) 56(84) bytes of data.
64 bytes from google.de (194.122.80.31): icmp_seq=1 ttl=57 time=24.9 ms
..::: Intel® Core™ i5-6600 :::..::: 16 GB Ram :::..
..::: 1 TB Nvme :::..::: 1 TB SSD :::..::: NVIDIA GeForce GTX 1070 :::.

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: grep regexp Problem

Beitrag von Meillo » 21.04.2015 11:01:13

synapsenstau hat geschrieben:
eggy hat geschrieben:sonst was spricht gegen:
ping -c 1 testurl.de |egrep "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"
Das es mehr ausgibt als die IP:

Code: Alles auswählen

ping -c 1 google.de |egrep "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"
PING google.de (194.122.80.31) 56(84) bytes of data.
64 bytes from google.de (194.122.80.31): icmp_seq=1 ttl=57 time=24.9 ms
Das ist auch korrekt so, denn grep filtert Zeilen.

Du willst dir die Option `-o' anschauen! ;-)
Use ed once in a while!

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: grep regexp Problem

Beitrag von eggy » 21.04.2015 11:03:41

nur die erste:
dig +short google.de |head -n1

Benutzeravatar
synapsenstau
Beiträge: 171
Registriert: 08.10.2013 09:56:34
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Südharz

Re: grep regexp Problem

Beitrag von synapsenstau » 21.04.2015 11:19:38

Danke euch beiden noch mal. Das "-o" hats gebracht:

Code: Alles auswählen

ping -c 1 google.de |egrep -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" | head -n1
und "dig...." geht jetzt auch.

Jetzt kann ich mir aussuchen wie ich die Dynamische IP für meinen Trafficshaper rauskrige.
..::: Intel® Core™ i5-6600 :::..::: 16 GB Ram :::..
..::: 1 TB Nvme :::..::: 1 TB SSD :::..::: NVIDIA GeForce GTX 1070 :::.

Antworten