Я хочу написать сценарий bash в Linux, который показывает скорость загрузки моего интернета в определенное время + день, за которым следует скорость загрузки.Bash scripting linux: Layout и вывод скрипта
информация должна быть сохранена в виде файла на той же линии, я хочу второй сценарий, чтобы показать скорость в каком-то «графика», как показано ниже:
24/11/2016 12:01 ********** 5.2MB/s
24/11/2016 12:03 ******* 3.5MB/s
24/11/2016 12:05 ******** 3.9MB/s
Я использую speedtest- cli -simple, эта команда показывает скорость загрузки и выгрузки.
Теперь это мой первый сценарий:
while true; do
date “´%x %X” >> Test.txt
speedtest-cli –simple >Speedtest.txt
sed '2!d' speedtest.txt >> Test.txt
rm Speedtest.txt
sleep 20
done
Сейчас я хочу, чтобы работать, пока я не решу, чтобы остановить сценарий. Но моя проблема заключается в том, что дата и скорость загрузки не сохраняются в одной строке. (также я не могу понять, как просто вывести скорость загрузки, поэтому я использую sed'2! d ', чтобы удалить все, кроме вывода строки загрузки, и поместить его в основной файл, хотя он будет отображаться как «скачать: 2.1MB/s ")
Отображение даты корректно и графическое изображение, где возникают проблемы позже, но мне интересно, как поместить вывод команд рядом друг с другом, если я знаю, что я найду способ отображения даты, за которым следует графики и скорости загрузки в одной строке.
Вы должны обернуть некоторые вещи в одинарные и двойные кавычки: 'Printf '% s% s \ N'«$ (date "+% x% X") "" $ (speedtest-cli --simple | grep '^ Скачать') "' – andlrc
Спасибо! Но у меня все еще есть проблема. Я хочу, чтобы он отображал ТОЛЬКО скорость загрузки. Когда я использую echo $ (speedtest | grep^Скачайте его: «Загрузить: 52.2 Mb/s» Есть ли способ отобразить только скорость? Потому что мне нужен этот «параметр для графики, я собираюсь создать во втором скрипте –
'grep -oP '^ Загрузить: \ K. *'' –