#! /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