Сценарий для развязывания каналов Asterisk

Я пытаюсь создать сценарий для Asterisk. Мы используем много каналов. Иногда channelspy остается открытым и не зависает, даже если софтфон повесил трубку (я не понимаю, почему). Поэтому я подумал о создании сценария для запуска количества открытых каналов с использованием SIP/[extension]-channel и этот grep экспортирует его в TXT файл, этот файл будет иметь 3 столбца и извлекает только первый столбец с

 awk ' {print $1} ' 

но здесь я застрял, потому что каждая строка имеет 1 канал, и если я хочу повесить этот канал, я должен сделать

 asterisk -rx 'soft hangup SIP/[exntesion]-channel' 

Может ли кто-нибудь помочь мне с этим, чтобы получить каждую строку как переменную и заколить скрипт до последней строки. поэтому команда будет чем-то вроде

 asterisk -rx 'soft hangup $variable' 

Также вы можете использовать system с awk:

 awk ' command = "asterisk -rx '\''soft hangup " $1 "'\''" { system(command); }' channels_file 

просто для тестирования:

 awk ' command = "asterisk -rx '\''soft hangup " $1 "'\''" { print command; }' channels_file 

cat 3-column-file-of-yours.txt | awk '{ sprintf "asterisk -rx \'soft hangup SIP/%s-channel\'\n",$1; }' | /bin/bash

Играйте с количеством косых черт возле «если у вас будут проблемы со струной и вы можете задавать вопросы!