detoniks
(usa Debian)
Enviado em 22/02/2013 - 15:30h
Boa tarde pessoal, estou com o seguinte problema
Tenho um arquivo txt enorme e vou olar algumas linhas pra vcs terem noçao:
Channel Context Extension Prio State Application Data CallerID Duration Accountcode PeerAccount BridgedTo
SIP/gateway-00015dd2 from-trunk-sip-gatew 1 Ringing (None) (None) 00:00:50 (None)
SIP/8401-00015eae ADM 8401 1 Ringing AppDial (Outgoing Line) 8401 00:00:08 (None)
SIP/3029-00015dd9 pas 1100 1 Up AppQueue (Outgoing Line) 3029 00:00:46 SIP/gateway-00015d44
SIP/3139-00015d23 pas 1100 1 Up AppQueue (Outgoing Line) 3139 00:01:21 SIP/gateway-00015cf1
SIP/3039-00015d95 pas 1100 1 Up AppQueue (Outgoing Line) 3039 00:01:02 SIP/gateway-00015cfc
SIP/gateway-00015df7 from-trunk-sip-gatew 1 Up AppDial (Outgoing Line) 003138221778 00:00:39 SIP/3101-00015df6
SIP/gateway-00015df4 from-trunk-sip-gatew 1 Ringing (None) (None) 00:00:41 (None)
SIP/3165-00015e26 pas 1002 1 Up AppQueue (Outgoing Line) 3165 00:00:31 SIP/gateway-00015dc6
SIP/3021-00015ed0 pas 026950653 110 Ring Dial sip/gateway/126950653 00:00:03 (None)
SIP/gateway-00015dc6 discador-filas 1002 31 Up Queue 1002,t,,,20 1147010608 00:00:52 SIP/3165-00015e26
obs: ele fica fora de quebra de linhapq nao cabe na caixa
Pois então, eu estou tratando o script assim:
#!bin/sh
for i in $(cat core.txt | grep -v Channel | tr -s " " ";" ); do
CHANNEL=$(echo ${i} | cut -d";" -f1)
DURATION=$(echo ${i} | cut -d";" -f8)
echo "INSERT INTO PEERS (CANAL, DURACAO ) VALUES ($CHANNEL, $DURACAO);"
done
Eu preciso retirar os campos channel e duraçao da chamada, porém como algumas linhas tem coluna em branco, nem sempre o campo duracao eh a 8 coluna.
Ai eu notei que toda vez que o campo CONTEXT eh diferente de 'PAS' encaixa como eu quero.
ai quero fazer um if assim:
if [ $CONTEXT = "pas" ];then
pula para a proxima linha(nao sei que sintaxe usar aqui)
fi
Quem puder ajudar fico grato