题解 | #业务分析-提取值#

业务分析-提取值

http://www.nowcoder.com/practice/f144e52a3e054426a4d265ff38399748

#! /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
全部评论

相关推荐

身边有人上海、深圳&nbsp;6、7k&nbsp;都去了,真就带薪上班了。
小浪_coder:深圳除了一些计算机,UI设计,金融类等一些可以月薪过万的工作之外, 认识很多朋友做运营,营销,文员的工作, 月薪基本都在4-6K左右,还有大把人在干
点赞 评论 收藏
分享
06-13 10:15
门头沟学院 Java
想去夏威夷的大西瓜在...:我也是27届,但是我现在研一下了啥项目都没有呀咋办,哎,简历不知道咋写
点赞 评论 收藏
分享
05-22 09:23
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务