Pull to refresh

Comments 1

Вроде человек старался и молодец, но нельзя вот такой код просто так брать и в продакшн.
Видя строку
asterisk -rx 'sip show peers' |grep OK |awk '{print $1}'|awk -F'/' '{print $1}' > numbers.txt
хочется взять что-нибудь тяжелое и по рукам
Ну если Вы и так используете awk то пользуйте его по полной, если надо просто вывести поле таблицы можно использовать tr, еще есть cut. Они будут здесь более актуальны
Ну и вот мой пример выше указанной строки
asterisk -rx 'sip show peers' | awk '$7~/OK/{gsub(/\/.*/,"",$1); print $1}' > numbers.txt
arp -a выводит список хостов, но при этом он также выводит и их имена, зачем здесь загружать еще и днс, нам хватит и arp -n
Опять же в цикле запускается два раза команда asterisk -rx "sip show peer $line"
Зачем?
хватит и одного запуска дальше все можно передать тому же awk и обработать весь вывод там.

Меня можно заминусовать, но если представить что вместо asterisk -rx «sip show peer $line» выполняется другая более тяжеловесная команда, которая реально может сильно грузить сервер то получим довольно тормозное решение с кучей накладных и ненужных расходов ресурсов. Ну и если уж надо получить разные данные при выводе одной команды дважды или более может будет логичным один раз выполнить команду записать вывод в файл и уже работать с ним?
Sign up to leave a comment.

Articles