Я отслеживаю файл журнала звездочки для тех пиров, которые отключены.часть if работает правильно, но команда sed не выполняется в части else, хотя команда echo работает.Что мне нужно изменить
tail -n0 -F /var/log/asterisk/messages | \
while read LINE
do
if echo "$LINE" | /bin/grep -q "is now UNREACHABLE!"
then
EXTEN=$(echo $LINE | /bin/grep -o -P "(?<=\').*(?=\')")
echo "$EXTEN is now UNREACHABLE!"
CALLERID=$(/bin/sed -n '/^\['"$EXTEN"'\]/,/^\[.*\]/{/^callerid*/p}' "$SIP" | /usr/bin/awk -F'=' '{ print $2 }')
if [[ "$CALLERID" != *SIP* ]] && [[ "$CALLERID" != *HOME* ]]
then
MATCH=$(/bin/grep "^$EXTEN;" "$CUR")
if ! /bin/grep -qi "^$MATCH" $OFFLINE; then
echo "$MATCH" >> $OFFLINE
fi
fi
elif echo "$LINE" | /bin/grep -q "is now REACHABLE!"
then
EXTEN=$(echo $LINE | /bin/grep -o -P "(?<=\').*(?=\')")
echo "$EXTEN is now REACHABLE!"
if /bin/grep -qi "^$EXTEN;" $OFFLINE; then
/bin/sed -i '/^$EXTEN;/d' $OFFLINE
fi
fi
done