Известно, что у ракушек очень низкая скорость обработки информации.
То, о чем вы просите, можно реализовать в оболочке следующим образом:
#!/bin/bash
while read line; do
bc <<<"scale=10;($line/(100*86400))+719529"
done
Для обработки 1000 строк требуется около 1,1 секунды.
Вся партия из 8,640 миллионов должна занять около 2 часов 41 минуты.
Кроме того, числовые результаты от bc неправильно округляются.
Пять строк из вашего примера дают такие значения:
735235.0000000000
735235.0000001157
735235.0000002314
735235.0000003472
735235.0000004629
Давайте изменим точность на 20, чтобы увидеть больше цифр:
735235.00000000000000000000
735235.00000011574074074074
735235.00000023148148148148
735235.00000034722222222222
735235.00000046296296296296
Например, третья строка, которая заканчивается на 2314
, неправильно округлена, следующая цифра после 4
- 8
, ее следовало округлить до 5
.
Возможно, мы найдем более быстрое решение с помощью awk. Реализация того, о чем вы просите, в awk будет выглядеть так:
$ awk '{printf ("%.10f\n",($0/(100*86400))+719529)}' datafile
735235.0000000000
735235.0000001157
735235.0000002314
735235.0000003473
735235.0000004630
Для обработки 1000 строк требуется всего 0.006 (6 миллисекунд).
Все 8,64 миллиона строк должны быть обработаны примерно за 50 секунд.
Но awk уже превышает свой диапазон точности. По умолчанию он использует 64-битное представление значений с плавающей точкой. Это представление имеет точность около 15 десятичных цифр. Результаты ваших данных имеют целочисленную часть из 6 цифр, десятичная часть может быть оценена как правильная только до 8-й цифры.
На самом деле, если мы попытаемся увеличить количество цифр:
awk '{printf ("%.20f\n",($0/(100*86400))+719529)}' datafile
мы получим просто шум:
735235.00000000000000000000
735235.00000011571682989597
735235.00000023143365979195
735235.00000034726690500975
735235.00000046298373490572
Сравните с более точными результатами bc:
735235.00000000000000000000
735235.00000000000000000000
735235.00000011571682989597
735235.00000011574074074074
735235.00000023143365979195
735235.00000023148148148148
735235.00000034726690500975
735235.00000034722222222222
735235.00000046298373490572
735235.00000046296296296296
Чтобы действительно решить эту проблему, нам нужен более точный awk.
Если вы используете GNU awk (далее я буду называть его gawk) и он был скомпилирован с MPFR (библиотека многократной точности с плавающей точкой), вы можете получить большую точность.
Убедитесь, что в вашем awk есть эта библиотека (просто спросите ее версию):
$ awk --version
GNU Awk 4.1.3, API: 1.1 (GNU MPFR 3.1.5, GNU MP 6.1.1)
Copyright (C) 1989, 1991-2015 Free Software Foundation.
И измените команду awk, чтобы использовать доступную точность:
gawk -M -v PREC=100 '{printf ("%.20f\n",($0/(100*86400))+719529)}' datafile
735235.00000000000000000000
735235.00000011574074074074
735235.00000023148148148148
735235.00000034722222222222
735235.00000046296296296296
Результаты те же, что и при использовании bc высокой точности.
В этом случае мы получаем скорость awk и точность bc.
Последняя команда для 10 десятичных цифр, которые вы просите, такова:
gawk -M -v PREC=100 '{printf ("%.10f\n",($0/(100*86400))+719529)}' datafile
735235.0000000000
735235.0000001157
735235.0000002315
735235.0000003472
735235.0000004630
Все значения правильно округлены.
Esta es una pregunta muy genérica que revela poco conocimiento sobre cómo funcionan los dispositivos en red.
La respuesta es, por supuesto, depende.
telnet <ip>
ossh <user>@<ip>
). Вы говорите о Баше? Отметьте свой вопрос, чтобы узнать об операционной системе.
Что вы думаете о рыси:
http://lynx.invisible-island.net/
Lynx — это текстовый веб-браузер, который должен предоставляться в большинстве репозиториев пакетов Linux. Установка зависит от вашего дистрибутива (sudo apt-get install lynx
, sudo yum install lynx
,... ).
Поскольку изображения не должны иметь большого значения для управления маршрутизатором через веб-страницу, это может быть полезно для вас.
Если ваш маршрутизатор использует AUTH TYPE BASIC для аутентификации, вариант «-auth» может вам подойти. Но если у него есть базовая форма входа в систему, это усложнится -, возможно, это невозможно.