я просто не так хорош, чтобы заставить его работать ...
я написал небольшой скрипт, который запускает тестирование скорости каждые 15 минут и записывает результаты в ежедневные файлы журнала:
#!/bin/bash
DATE=$(date +%d.%m.%Y_%H:%M)
DAY=$(date +%d.%m.%Y)
WANIP=$(dig +short myip.opendns.com @resolver1.opendns.com)
echo "Timestamp: "$DATE >> /home/rene/speedtests/$DAY.log
echo "WanIP: "$WANIP >> /home/rene/speedtests/$DAY.log
/home/rene/speedtest-cli --server 3199 --share --simple >> /home/rene/speedtests/$DAY.log
echo "----------" >> /home/rene/speedtests/$DAY.log
Журнал выглядит следующим образом:
[rene@manjaro-home ~]$ cat speedtests/11.10.2016.log
Timestamp: 11.10.2016_00:00
WanIP: 77.119.x.x
Ping: 63.773 ms
Download: 32.90 Mbit/s
Upload: 29.05 Mbit/s
Share results: http://www.speedtest.net/result/5703959727.png
----------
Timestamp: 11.10.2016_00:15
WanIP: 77.119.x.x
Ping: 70.06 ms
Download: 30.85 Mbit/s
Upload: 26.31 Mbit/s
Share results: http://www.speedtest.net/result/5703983637.png
----------
Timestamp: 11.10.2016_00:30
WanIP: 77.119.x.x
Ping: 65.722 ms
Download: 31.16 Mbit/s
Upload: 26.80 Mbit/s
Share results: http://www.speedtest.net/result/5704006209.png
----------
Хочу подать жалобу на моего провайдера, потому что у меня должно быть 150/50, а через месяц у меня плохая пропускная способность =(
Теперь мне нужен скрипт, который преобразует этот файл журнала следующим образом:
Time,Ping,Download,Upload,Link
11.10.2016_00:00,63.773,32.90,29.05,http://www.speedtest.net/result/5703959727.png
11.10.2016_00:15,70.06,30.85,26.31,http://www.speedtest.net/result/5703983637.png
11.10.2016_00:30,65.722,31.16,26.80,http://www.speedtest.net/result/5704006209.png
я уже пробовал кое-что, но я просто чтобы сделать это с помощью awk ;-D
[rene@manjaro-home ~]$ cat daily-csv.sh
#!/bin/bash
DAY=$(date +%d.%m.%Y)
#echo '"Timestamp","Ping","Download","Upload","Link"' > /home/rene/speedtests/$DAY.csv
for line in `cat /home/rene/speedtests/$DAY.log`; do
timestamp=$(echo $line | awk -F"Timestamp: " '{$0=$1}2');
echo $timestamp
done
#for F in /home/rene/speedtests/$DAY.log
#do
# {
# read Timestamp
# read WanIP
# read Ping
# read Download
# read Upload
# read Link
# read Placeholder
# } < $F
# echo "$Timestamp,$Ping,$Download,$Upload,$Link" >> speedtests/$DAY.csv
#
#TIME=${Timestamp#* }
#PING=${Ping#* }
#DOWN=${Download#* }
#UP=${Upload#* }
#LINK=${Link#*: }
#
#echo $TIME,$PING,$DOWN,$UP,$LINK
#
#
#done
Часть с комментариями дает только первый журнал.
Так ... кто-нибудь может мне помочь? :)