そのため、Webサーバーに86,400回のpingを送信し、その出力をテキストファイルに書き込むシェルスクリプトを作成しました。以下の1つのpingの例:
64 bytes from a104-100-153-112.deploy.static.akamaitechnologies.com (104.100.153.112): icmp_seq=1 ttl=60 time=12.6 ms
64 bytes from a104-100-153-112.deploy.static.akamaitechnologies.com (104.100.153.112): icmp_seq=2 ttl=60 time=17.2 ms
64 bytes from a104-100-153-112.deploy.static.akamaitechnologies.com (104.100.153.112): icmp_seq=3 ttl=60 time=11.0 ms
最初の問題は、生のping出力から往復(12.6)時間値を2番目のテキストファイルに抽出するために必要であることです。今持っているのは12.6の小数点を無視し、数値だけを受け入れると信じています。私のコードは次のとおりです。
sed 's/.* time= \ ([0-9]* \ ). * /\1/' pingoutput.txt | sort -n > sortedtime.txt
これらの時間値を抽出したら、sortedtime.txt
テキストファイルを読み取り、各行(および各往復時間)をというリストの要素に入れますtimelist[]
。次に、長さとリスト全体を印刷して、リストに86400の往復時間がすべて含まれており、正しく整列していることを確認します。私のコードは次のとおりです。
with open("sortedtime.txt", 'r') as time:
timelist = []
for line in time:
timelist.append(line)
time.close()
print timelist[0:86399]
print len(timelist)
2番目と最後の質問は、その時間リストにあるすべての値のCDFをプロットして表示する必要があることです。私はPythonに初めて触れていて、このパッケージに慣れていないmatplotlib.pyplot
ので、x軸と0から1のy軸にリスト要素を描画する方法を理解していません。
私はLinuxで働いており、助けてくれてありがとう。