2014-04-16 27 views
0

我有一個shell32腳本,其中curl -s http://ifconfig.me/all.json命令在終端窗口中輸出下面的輸出。CURL命令中的REST API JSON值轉換爲UNIX中的表格格式

{ 
    "version" : { 
    "ip_addr": "201.73.103.12", 
    "lang": "java", 
    "remote_host": "OpenSSL/0.9.8w zlib/1.2.3 libidn/1.23 libssh2/1.2.2",", 
    "user_agent": "curl/7.23.1 (i386-sun-solaris2.11) libcurl/7.23.1 
    "charset": "", 
    "port": "63713"} 
} 

我需要顯示以表的格式JSON值。

有人請幫我用這個在UNIX shell腳本中實現。謝謝!

+1

我不認爲任何shell自帶的內置JSON解析所以你最終會面臨亂七八糟的正則表達式或額外的依賴關係。我假設你想要在shell腳本中避免代價。因爲如果你正確地做到這一點,你會得到它們,難道你不能用適當的編程語言來做到這一點嗎? –

回答

0

查找到涼爽的命令行JSON查詢解析器/格式化工具:

http://stedolan.github.io/jq/

可以通過管道將您的JSON投入這個工具並提取出/格式化您需要的按鍵。

或者,只是運行每個「行/列」多curl -s http://ifconfigme/電話,你需要在一些理智的格式輸出它,如:

#!/bin/bash 

ip=`curl -s http://ifconfig.me/ip` 
host=`curl -s http://ifconfig.me/host` 

echo -e "ip\thost" 
echo -e "${ip}\t${host}" 
+0

是否可以移動數組中的值然後迭代? –