- 论坛徽章:
- 60
|
- #!/bin/bash
- cd $(dirname $0)
- # Processing Log1
- log1 (){
- cat *.log | grep -E '^[a-z]+:' | sed 's/[ \t]\+//g' | xargs -n3 | \
- awk 'BEGIN{
- FS="[ :]"
- }
- { x=$1
- y=$3
- z=$5
- a[$2]+=$4
- b[$2]=b[$2]?b[$2]","$NF:$NF
- } END {
- for (i in a){
- len=split(b[i],t,",")
- for (j in t){
- p["\""t[j]"\""]=0
- }
- for (k in p){
- v=v?v","k:k
- }
- print "{\"" x "\":\"" i "\",\"" y "\":\"" a[i] "\",\"" z "\":[" v "]}"
- delete t
- delete p
- v=""
- }
- }' | paste -s -d ','
- }
- # Processing Log2
- log2 (){
- cat *.log | grep -E '^([0-9]\.?){1,4}' | \
- awk '{
- a[$1]+=$2
- } END {
- for(i in a){
- print "{\"ip\":" "\"" i "\"" "," "\"times\"" ":\""a[i] "\"}"
- }
- }' | paste -s -d ','
- }
- # Print Result
- echo -e "{\n\t\"log1\":[$(log1)],\n\t\"log2\":[$(log2)]\n}"
复制代码 效果如下:- [root@centos6-1 txt]# sh json.sh
- {
- "log1":[{"id":"e294c2","times":"328790","type":["observe","alarm"]},{"id":"1f7f03","times":"112217","type":["observe","forecast3d","index"]},{"id":"d30b9f","times":"736036","type":["observe","forecast5d","alarm","index"]},{"id":"68faa3","times":"503567","type":["forecast","HBgqxx","forecast3h","HBxzxxz","alarm"]},{"id":"766cbd","times":"6","type":["observe","forecast3d","index"]},{"id":"320723","times":"513787","type":["observe","forecast","alarm","index"]},{"id":"45029b","times":"1284","type":["forecast1d"]},{"id":"16c070","times":"1915","type":["forecast1d"]},{"id":"7c1429","times":"11905555","type":["observe","forecast5d","index"]},{"id":"5aae5b","times":"251","type":["observe","forecast3d","index"]},{"id":"c8d6bf","times":"46623","type":["forecast4d","observe","air","indexen","forecast1d","index"]},{"id":"d5881d","times":"221473","type":["observe","air"]},{"id":"c9f204","times":"8362089","type":["forecast5d","observe"]},{"id":"71f520","times":"3581","type":["air","forecast3d","index"]},{"id":"334cfc","times":"2173","type":["alarm","forecast3d","index"]},{"id":"2389f4","times":"490750","type":["observe","alarm","forecast3d","index"]},{"id":"f63d32","times":"26165611","type":["observe","forecast","forecast3h","temp","all","index"]},{"id":"549d81","times":"3930843","type":["observe","forecast","calendar","alarm","index"]},{"id":"cf2d61","times":"2","type":["observe","index"]},{"id":"3d274c","times":"200007","type":["observe"]},{"id":"674c66","times":"654","type":["observe","forecast","air","alarm","index"]},{"id":"f1c3f8","times":"17","type":["observe"]},{"id":"aa2f1a","times":"2013","type":["forecast5d"]},{"id":"d7d2bc","times":"65348","type":["observe"]},{"id":"580853","times":"1","type":["forecast3d"]},{"id":"d229f3","times":"2","type":["forecast5d"]},{"id":"7d34f2","times":"90","type":["observe","forecast3d","index"]},{"id":"22c100","times":"8","type":["observe","forecast","alarm","index"]},{"id":"e9b455","times":"136251","type":["newsw7","observe","forecast5d","newsl7","alarm","index"]},{"id":"abb2c8","times":"691","type":["forecast3d"]},{"id":"7f9b82","times":"5597","type":["observe","forecast3d","index"]},{"id":"7b0712","times":"1","type":["forecast"]},{"id":"8db47c","times":"4717","type":["forecast","observe"]},{"id":"5b9529","times":"51752","type":["observe","forecast3d","index"]}],
- "log2":[{"ip":"61.4.184.93","times":"11625169"},{"ip":"61.4.184.90","times":"11555629"},{"ip":"61.4.184.81","times":"7487385"},{"ip":"61.4.184.82","times":"34645"},{"ip":"61.4.184.91","times":"11580673"},{"ip":"114.247.188.89","times":"16"},{"ip":"61.4.184.92","times":"11609059"},{"ip":"61.4.184.83","times":"34633"}]
- }
- [root@centos6-1 txt]#
- [root@centos6-1 txt]#
复制代码 |
|