Rumata, я приношу глубочайшие извинения за некорректно поставленную задачу и за потраченное впустую ваше время. Впредь постараюсь писать более точно.
Суть такова, имеем лог
...
D/RILJ ( 1379): [3157]> GET_CURRENT_CALLS
D/RILJ ( 1379): [UNSL]< UNSOL_RESPONSE_CALL_STATE_CHANGED
D/RILJ ( 1379): [3158]> GET_CURRENT_CALLS
V/RILJ ( 1379): Incoming UUS : NOT present!
D/RILJ ( 1379): InCall VoicePrivacy is disabled
D/RILJ ( 1379): [3157]< GET_CURRENT_CALLS [id=1,DIALING,toa=145,norm,mo,0,voc,noevp,,cli=1,,0]
V/RILJ ( 1379): Incoming UUS : NOT present!
D/RILJ ( 1379): InCall VoicePrivacy is disabled
D/RILJ ( 1379): [3158]< GET_CURRENT_CALLS [id=1,ACTIVE,toa=145,norm,mo,0,voc,noevp,,cli=1,,0]
...
Требуется найти строки с "GET_CURRENT_CALLS" и получить статус, в данном случае:
И да, в распоряжении grep, sed, awk, cut.
Признаюсь, пришлось повозиться.
echo "D/RILJ ( 1379): [3554]< GET_CURRENT_CALLS [id=1,ACTIVE,toa=145,norm,mt,0,voc,noevp,,cli=1,,0]" | sed -n 's/.*GET_CURRENT_CALLS[^,]*,\([^,]*\),.*/\1/p'
Некрасиво.
Нас невозможно сбить с пути, нам пофигу куда идти.