亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1643 | 回復: 4
打印 上一主題 下一主題

[求解] 如何在mysql cluster使用awk&sed格式化狀態(tài)列表 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-03-01 15:48 |只看該作者 |倒序瀏覽
[root@spocproxy ~]# ndb_mgm -e show
Connected to Management Server at: 192.168.2.4:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2    @192.168.2.4  (mysql-5.1.56 ndb-7.1.17, Nodegroup: 0, Master)
id=3    @192.168.2.5  (mysql-5.1.56 ndb-7.1.17, starting, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.2.4  (mysql-5.1.56 ndb-7.1.17)

[mysqld(API)]   4 node(s)
id=100  @192.168.2.4  (mysql-5.1.56 ndb-7.1.17)
id=101  @192.168.2.5  (mysql-5.1.56 ndb-7.1.17)
id=102 (not connected, accepting connect from any host)
id=103 (not connected, accepting connect from any host)

將以上輸出格式化成下面格式
[
{"type":"ndbd","id":"2","hostname":"192.168.2.4"},
{"type":"ndbd","id":"3","hostname":"192.168.2.5"},
{"type":"ndb_mgmd","id":"1","hostname":"192.168.2.4"},
{"type":"mysqld","id":"100","hostname":"192.168.2.4"},
{"type":"mysqld","id":"101","hostname":"192.168.2.5"},
]

我現(xiàn)在的方法是:

ndb_mgm -c $connectstring -e show |sed -e '/mysqld(API)/,$!d' -e '/@[0-9].*/!d' -e 's/id=//;s/@//' |awk  'BEGIN {print "["};{printf ("{\"type\":\"mysqld\",\"id\":\"%s\",\"hostname\":\"%s\"},\n",$1,$2)};END {print "]"}'

ndb_mgm -c $connectstring -e show |sed -e '/ndbd(NDB)/,/ndb_mgmd/!d' -e '/@[0-9].*/!d' -e 's/id=//;s/@//'|awk  'BEGIN {print "["};{printf ("{\"type\":\"ndbd\",\"id\":\"%s\",\"hostname\":\"%s\"},\n",$1,$2)};END {print "]"}'

ndb_mgm -c $connectstring -e show |sed -e '/ndb_mgmd/,/mysqld(API)/!d' -e '/@[0-9].*/!d' -e 's/id=//;s/@//' |awk  'BEGIN {print "["};{printf ("{\"type\":\"ndb_mgmd\",\"id\":\"%s\",\"hostname\":\"%s\"},\n",$1,$2)};END {print "]"}'
分成三次去格式化,得到的結果是:
[
{"type":"ndbd","id":"2","hostname":"192.168.2.4"},
{"type":"ndbd","id":"3","hostname":"192.168.2.5"},
]
[
{"type":"ndb_mgmd","id":"1","hostname":"192.168.2.4"},
]
[
{"type":"mysqld","id":"100","hostname":"192.168.2.4"},
{"type":"mysqld","id":"101","hostname":"192.168.2.5"},
]

問題是如何通過一行命令得到我想要的結果
[
{"type":"ndbd","id":"2","hostname":"192.168.2.4"},
{"type":"ndbd","id":"3","hostname":"192.168.2.5"},
{"type":"ndb_mgmd","id":"1","hostname":"192.168.2.4"},
{"type":"mysqld","id":"100","hostname":"192.168.2.4"},
{"type":"mysqld","id":"101","hostname":"192.168.2.5"},
]

不使用shell腳本. 有興趣的朋友可以研究下.

論壇徽章:
0
2 [報告]
發(fā)表于 2012-03-01 16:45 |只看該作者
  1. awk '/^\[/{type=$1;next}/\@/{split(type,a,"[\(|\[]");gsub(/id=/,"",$1);gsub(/@/,"",$2);print a[2],$1,$2}' data

  2. 輸出格式你自己再整一下吧
復制代碼

論壇徽章:
0
3 [報告]
發(fā)表于 2012-03-01 17:24 |只看該作者
佩服佩服,能幫忙解釋下么

論壇徽章:
145
技術圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
4 [報告]
發(fā)表于 2012-03-01 18:09 |只看該作者
回復 1# kevinbin

t for type

$ awk -F'[]() @=[]+' 'BEGIN{print "["}/^\[/{t=$2}/^id=/&&$3~/[0-9]/{print "{\"type\":\""t"\",\"id\":\""$2"\",\"hostname\":\""$3"\"},"}END{print "]"}' ndb_mgm.txt
[
{"type":"ndbd","id":"2","hostname":"192.168.2.4"},
{"type":"ndbd","id":"3","hostname":"192.168.2.5"},
{"type":"ndb_mgmd","id":"1","hostname":"192.168.2.4"},
{"type":"mysqld","id":"100","hostname":"192.168.2.4"},
{"type":"mysqld","id":"101","hostname":"192.168.2.5"},
]

   

論壇徽章:
0
5 [報告]
發(fā)表于 2012-03-01 19:51 |只看該作者
  1. sed -rn '/\[([^(]+).+$/{s//{"type:","\1",/;h;:a;g;N;s/^([^\n]+)\nid=([0-9]+) +@([^ ]+).+$/\1"id:","\2","hostname:","\3"},/p;ta}'
復制代碼
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP