Никак не пойму как это работает:
(взято у автора скрипта из viewtopic.php?f=14&t=11609:)
if (($interfaceName = $hostInterface) && ($interfaceName != $bridgeName)) do={
:local printInterface ([ :pick [( $hostInterface." " )] 0 16 ]);
:local printNameMAC ([ :pick [( $hostName." (".$hostMAC.") " )] 0 44 ]);
:local printComment ([ :pick [( $hostComment." " )] 0 30 ]);
:local printIP ([ :pick [( $hostIP." " )] 0 20 ]);
:put ($printInterface." ".$printNameMAC." remark: ".$printComment." ".$printIP." ".$bridgeName);
}
Как автор расчитал количество пробелов между словами в строках в каждом столбце ?
Нет, то есть как работает я понимаю, всё просто. Формируется итоговое слово нужной длины, пиком отсекаются лишние пробелы.
Но ! почему с :put - выводом в термиал это работает, а с :log info нет ?
:log info ($printInterface." ".$printNameMAC." remark: ".$printComment." ".$printIP." ".$bridgeName);
Структурированный табличный вывод
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
Вроде разобрался в чем дело. Несмотря на четкое "обрезание" по количеству символов длина формируемых слов в табличных строках выводом :log получается разная. Это связано с тем, что знакоместо символа имеет различную величину и это приводит к смещению столбцов несмотря на одинаковое число символов в каждом. В терминале такого нет там все четко - все символы (любые) имеют равные знакоместа. Это плохо. Получается никак нельзя в логе роутерОС вывести данные в ровные столбцы (скажем выравненные все по левому краю), а в терминале можно - там знакоместо одинаковое для каждого символа.
Или не прав ?
Да... Строки определенной длины в пикселях роутерОС формировать не умеет ...
Или не прав ?
Да... Строки определенной длины в пикселях роутерОС формировать не умеет ...
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
- podarok66
- Модератор
- Сообщения: 4402
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
А я давно говорил, что в RouterOs не хватает bash со всякими sed, awk и тому подобным
Я бы, наверное, за вариант лицензии с полноценным bash доплатил бы даже.

Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...