bei Ping nur bestimmte Daten ausgeben
Paul
- perl
Hallo!
Ich möchte gerne eine Ping-Zeit ausgeben. Habe das mit folgendem kleinen Script gemacht:
$ip = "...";
$ping = ping -c 1 $ip;
print "Content-Type: text/html\n\n";
print "<pre>$ping</pre>\n";
Aber da wird jetzt jetzt ja alles ausführlich ausgegeben, ich möchte aber nur die Zeit ausgegeben bzw. als Variable haben.
Wäre nett, wenn mir jemand sagen könnte, wie ich das anstelle!
Danke schonmal und schönen Sonntag noch!
Paul
Hallo!
Aber da wird jetzt jetzt ja alles ausführlich ausgegeben, ich möchte aber nur die Zeit ausgegeben bzw. als Variable haben.
Falls du nur die Zeile haben willst wo steht Minimum = 53mx, Maximum = 45ms, usw, dann machst einfach so, dass du das erste Wort dieser Zeile nimms und dann mit $' das anzeigst was danach kommt:
my $p = qx(ping -n 1 web.de);
$p =~ /Minimum/;
print "Minimum$'\n";
Gibt aus:
Minimum = 57ms, Maximum = 57ms, Mittelwert = 57ms
Gruss, Rolf
Hallo,
ping -c1 $ip|cut -d\ -f8|grep time|cut -d= -f2
gruss
Hallo!
Danke für die schnellen Antworten, aber leider funktioniert bei mir keine der beiden Möglichkeiten.
Bei der von Eternius bekomme ich einen Scriptfehler und bei der von Rolf wird nur das Wort "Minimum" ausgegeben.
Wäre nett, wenn sich das nochmal jemand anschauen würde oder andere Möglichkeiten vorschlagen könnte.
Danke!
Paul
Hallo!
Danke für die schnellen Antworten, aber leider funktioniert bei mir keine der beiden Möglichkeiten.
Bei der von Eternius bekomme ich einen Scriptfehler und bei der von Rolf wird nur das Wort "Minimum" ausgegeben.
Tja, kommt drauf an was der ping Kdo zurückgibt. Hier noch ein anderes Beispiel (anderes OS):
eisbaer:rfrost {104} ping -c 1 web.de
PING web.de (217.72.195.42): 56 data bytes
64 bytes from 217.72.195.42: icmp_seq=0 ttl=242 time=12.631 ms
--- web.de ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/std-dev = 12.631/12.631/12.631/0.000 ms
Gruss, Rolf
Hallo,
hab ich ja ganz vergessen, bei Perl geh ich immer davon aus, dass es sich beim OS um Linux handelt.
naja hier das ganze wies funktionieren sollte (allerdings nur für linux):
my $bla=qx(/bin/ping -c1 www.heise.de|cut -d\ -f8|grep time|cut -d= -f2);
print $bla;
gruss