Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- yukra@yukra-ThinkPad-X230 ~/z $ cat 1
- Host dnsmgr Username Refresh State Reg.Time
- xx.xx.xx.214:5060 N 0xxnnnnn02 585 Registered Tue, 21 Mar 2017 13:16:48
- xx.xx.xx.214:5060 N 0xxnnnnn60 585 Registered Tue, 21 Mar 2017 13:16:49
- xx.xx.xx.214:5060 N 0xxnnnnn10 585 Registered Tue, 21 Mar 2017 13:16:49
- xx.xx.xx.214:5060 N 0xxnnnnn72 585 Registered Tue, 21 Mar 2017 13:16:49
- pbx05.xxxx.com:5060 Y user03 585 Registered Tue, 21 Mar 2017 13:16:49
- 5 SIP registrations.
- yukra@yukra-ThinkPad-X230 ~/z $ cat z.sh
- #!/bin/bash
- fun_error1(){
- echo "Ошибка! Отсутствуют параметры (trunks или ips или registration_monitoring)"
- }
- fun_error2(){
- echo "Ошибка! Отсутствуют параметры (название_транка)"
- }
- if [ $# -ne 0 ]
- then
- case $1 in
- trunks)
- cat 1 | sed -e 1d -e '$d' | awk -v ORS="" 'BEGIN { print "{\"data\":["} { print "{\"{#TRUNKNAME}\":\""$3"\"}," } END { print "]}" }' | sed 's/,]}$/]}\n/' ;;
- ips)
- cat 1 | sed -e 1d -e '$d' | awk ' BEGIN { print "{\"data\":[" } !seen[$1]++ { gsub(/:.+/, "", $1); print "{\"{#TRUNKIP}\":\""$1"\"}," } END { print "]}" }' | tr -d '\n' | sed 's/,]}$/]}\n/' ;;
- registration_monitoring)
- if [ $# -eq 2 ]
- then
- cat 1 |grep -w $2 | awk '{print $5}'
- else
- fun_error2
- fi ;;
- *)
- fun_error1 ;;
- esac
- else
- fun_error1
- fi
- yukra@yukra-ThinkPad-X230 ~/z $ ./z.sh trunks | json_pp > z.out
- yukra@yukra-ThinkPad-X230 ~/z $ cat 1 | awk 'BEGIN {ORS=""; FS="[: \t\n]+";print "{\"data\":["} {if ($0 !~ /[0-9]+ SIP registrations|Host +dnsmgr +Username +Refresh +State +Reg.Time/) printf "%s{\"{#TRUNKNAME}\" : \"%s\"}" ,separator,$4, separator = ", "} END { print "]}"}' | json_pp > a.out
- yukra@yukra-ThinkPad-X230 ~/z $ diff a.out z.out
- yukra@yukra-ThinkPad-X230 ~/z $ cat a.out
- {
- "data" : [
- {
- "{#TRUNKNAME}" : "0xxnnnnn02"
- },
- {
- "{#TRUNKNAME}" : "0xxnnnnn60"
- },
- {
- "{#TRUNKNAME}" : "0xxnnnnn10"
- },
- {
- "{#TRUNKNAME}" : "0xxnnnnn72"
- },
- {
- "{#TRUNKNAME}" : "user03"
- }
- ]
- }
- yukra@yukra-ThinkPad-X230 ~/z $
Advertisement
Add Comment
Please, Sign In to add comment