#! /usr/bin/env bash

########################################################
#
#
########################################################
function solution_1() {
    local array=""
    local old_ifs=${IFS}
    local str=""
    while read line; do
        IFS=":"
        array=(${line})
        if [[ "${line}" = *version* ]]; then
            echo "serverVersion:${array[3]}"
        fi
        
        if [[ "${line}" = *number* ]]; then
            echo "serverName:${array[3]}"
        fi
        
        if [[ "${line}" = *OS* ]]; then
            IFS=","
            local arr=(${array[3]})
            echo "osName:${arr[0]}"
            echo "osVersion:${array[4]}"
            IFS="${old_ifs}"
            return 0
        fi
        IFS="${old_ifs}"
    done < nowcoder.txt
}

########################################################
#
#
########################################################
function solution_2() {
    awk -F":"
    '{
        if($0 ~ /Server version/){
            printf("serverVersion:%s\n", $4)
        }
        if($0 ~ /Server number/){
            printf("serverName:%s\n", $4)
        }
        if($0 ~ /OS Name/){
            printf("osName:%s\n", substr($4,1,7))
        }
        if($0 ~ /OS Version/){
            printf("osVersion:%s\n", $5)
        }
    }' nowcoder.txt
}

########################################################
#
#
########################################################
function solution_3() {
    awk -v FS="[:,]" 
    '{                                                                                                             
        if($0~"Server version") print "serverVersion:", $4
    
        if($0~"Server number") print "serverName:", $4
    
        if($0~"OS Name") {
            print "osName:", $4
            print "osVersion:", $6
        }
    }' nowcoder.txt

}

########################################################
#
#
########################################################
function solution_4() {
    awk -F'[ :,]' 
    'BEGIN {
        IGNORECASE=1
    } END {
        if($9 == "version") {
            print "serverVersion:", $10, $11;
        } else if {
            ($9 == "number") print "serverName:", $10;
        } else if($9 == "name") {
             print "osName:", $10, \n, "osVersion:", $14;
        }
    }' nowcoder.txt
}


solution_1