Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
W pliku jest szereg linijek pogrupowanych w pary, przykładowo:
1104/960 packets, 13% loss, min/avg/ewma/max = 27.847/31.767/31.536/74.384 ms [1447551082.945905] 1404/1202 packets, 14% loss, min/avg/ewma/max = 27.847/31.797/31.833/74.384 ms [1447551383.446381]
[1447551082.945905] odpowiada za timestamp, który w ping można uzyskać przy pomocy opcji -D . Wszystkie te powyższe pary są oddzielone od siebie pustym wierszem.
Pytanie jest jak w tym pliku przekonwertować teraz ten timestamp do ludzkiej postaci?
Ostatnio edytowany przez morfik (2015-11-15 12:11:09)
Offline
Mozna tak przekonwertować:
$ echo 1447551082.945905 | awk '{ print strftime("%c", $0); }' nie, 15 lis 2015, 02:31:22
Ostatnio edytowany przez Piotr3ks (2015-11-15 11:49:45)
Offline
A jak to zrobić w tym pliku? Chodzi generalnie o to, by zamiast takiego wyjścia jak jest wyżej było coś w stylu:
1104/960 packets, 13% loss, min/avg/ewma/max = 27.847/31.767/31.536/74.384 ms [nie, 15 lis 2015, 02:31:22]
Ostatnio edytowany przez morfik (2015-11-15 11:53:28)
Offline
$ awk '{ sub(/[0-9]{10}/, strftime("%c", substr($0,2,10))) }1' plik PING google.pl (83.175.145.24) 56(84) bytes of data. [nie, 15 lis 2015, 11:56:35.741565] 64 bytes from xxx (83.175.145.24): icmp_seq=1 ttl=61 time=0.654 ms [nie, 15 lis 2015, 11:56:36.737593] 64 bytes from xxx (83.175.145.24): icmp_seq=2 ttl=61 time=0.827 ms [nie, 15 lis 2015, 11:56:37.738456] 64 bytes from xxx (83.175.145.24): icmp_seq=3 ttl=61 time=0.608 ms ....................................
Oczywiście w strftime możesz podać swój format czasu.
Ostatnio edytowany przez Piotr3ks (2015-11-15 12:04:46)
Offline
To już kwestia doszlifowania :D
Offline
Strony: 1