shell输出json格式

读取文件里面数据,输出为json格式

#/bin/bash
 
bak=$IFS
IFS=$'\n'
j=0 
echo  "["
for i in `cat node.txt`
do
((j = j+1))
num=$(wc -l node.txt |cut -d " " -f 1) 
NAME=$(xxx) 
IP=$(xxx)
CPUPRECENT=$(xxx)
PORT=$(xxx)
STATE=$(xxx)
if [ $j -eq $num ];then
 echo -e "\n\t{"
        echo -e "\t\t\"name\": \"${
    
    NAME}\","
        echo -e "\t\t\"ip\": \"${
    
    IP}\","
        echo -e "\t\t\"cpupercent\":\"${
    
    CPUPRERCENT}\","
        echo -e "\t\t\"port\":\"${
    
    PORT}\","
        echo -e "\t\t\"state\":\"${
    
    STATE}\""
  echo -e "\n\t}"
else
  echo -e "\n\t{"
        echo -e "\t\t\"name\": \"${
    
    NAME}\","
        echo -e "\t\t\"ip\": \"${
    
    IP}\","
        echo -e "\t\t\"cpupercent\":\"${
    
    CPUPRERCENT}\","
        echo -e "\t\t\"port\":\"${
    
    PORT}\","
        echo -e "\t\t\"state\":\"${
    
    STATE}\""
  echo -e "\n\t},"
fi 
done
 echo "]"
IFS=$bak

Guess you like

Origin blog.csdn.net/qq_46495338/article/details/120560445